Summary
Turn the CodeArtifact publish workflow into a build matrix so each supported platform produces its own wheel, while keeping the macOS publish as the gating leg.
Motivation
ahl_dwc is a compiled package (scikit-build-core + pybind11), so wheels are platform-specific. A single-runner workflow only ever produced one platform's wheel. A matrix lets us build for macOS and both Linux architectures from one release.
Scope
| Leg |
Runner |
Toolchain |
Behaviour |
| macOS arm64 |
macos-latest |
Apple Clang + libc++ |
blocking; builds wheel + sdist, publishes |
| Linux x86_64 |
ubuntu-latest |
GCC + libstdc++ |
non-blocking until the C++ fix |
| Linux arm64 |
ubuntu-24.04-arm |
GCC + libstdc++ |
non-blocking until the C++ fix |
Acceptance criteria
Dependencies / follow-ups
Summary
Turn the CodeArtifact publish workflow into a build matrix so each supported platform produces its own wheel, while keeping the macOS publish as the gating leg.
Motivation
ahl_dwcis a compiled package (scikit-build-core + pybind11), so wheels are platform-specific. A single-runner workflow only ever produced one platform's wheel. A matrix lets us build for macOS and both Linux architectures from one release.Scope
macos-latestubuntu-latestubuntu-24.04-armAcceptance criteria
fail-fast: false.continue-on-errorso they don't block the macOS publish (they can't compile until C++ extension fails to compile under GCC/libstdc++ (blocks Linux wheels) #7).pyproject.toml.uv publish --check-url).Dependencies / follow-ups
continue-on-errorand switch Linux legs to cibuildwheel/manylinux (keeping scikit-build-core as the backend).