The Linux matrix builds manylinux wheels only (x86_64, x86, aarch64, armv7, s390x, ppc64le). On Alpine and other musl-based images, pip install common-expression-language falls back to the sdist and needs a Rust toolchain in the container, which is a common enough surprise for a package that pitches itself for policy enforcement in services.
PyO3/maturin-action builds these directly: add x86_64 and aarch64 entries with manylinux: musllinux_1_2 to the linux job, upload them under a wheels-musllinux-* artifact name so the release job's wheels-* glob picks them up. Two extra jobs, no code changes.
The Linux matrix builds
manylinuxwheels only (x86_64, x86, aarch64, armv7, s390x, ppc64le). On Alpine and other musl-based images,pip install common-expression-languagefalls back to the sdist and needs a Rust toolchain in the container, which is a common enough surprise for a package that pitches itself for policy enforcement in services.PyO3/maturin-actionbuilds these directly: addx86_64andaarch64entries withmanylinux: musllinux_1_2to thelinuxjob, upload them under awheels-musllinux-*artifact name so the release job'swheels-*glob picks them up. Two extra jobs, no code changes.