A CI job that cross-compiles wheels from the host and tests them on the target platform by exchanging wheel artifacts - macOS arm64 to amd64 (Xcode) - macOS amd64, arm64 to arm64, amd64 and vice versa (Zig) (doesn't currently work, related issue: https://github.com/ziglang/zig/issues/20689, regression in 0.13.0?) - macOS amd64, arm64 to Windows amd64, arm64, i686 - macOS arm64 to Linux amd64, aarch64, ppc64le, s390x (amd64 excluded because arm64 runners are faster) - Windows amd64 to arm64, i686 - Windows amd64 to macOS amd64, arm64 - Windows amd64 to Linux amd64, aarch64 (ppc64le and s390x excluded since Docker containers needed to test) - Linux amd64 to arm64 - Linux amd64 to macOS amd64, arm64 - Linux amd64 to Windows amd64, arm64, i686 and so on (to be decided)
A CI job that cross-compiles wheels from the host and tests them on the target platform by exchanging wheel artifacts
macOS arm64 to amd64 (Xcode)
macOS amd64, arm64 to arm64, amd64 and vice versa (Zig) (doesn't currently work, related issue: Crosscompile CGO using zig 0.12 or newer ziglang/zig#20689, regression in 0.13.0?)
macOS amd64, arm64 to Windows amd64, arm64, i686
macOS arm64 to Linux amd64, aarch64, ppc64le, s390x (amd64 excluded because arm64 runners are faster)
Windows amd64 to arm64, i686
Windows amd64 to macOS amd64, arm64
Windows amd64 to Linux amd64, aarch64 (ppc64le and s390x excluded since Docker containers needed to test)
Linux amd64 to arm64
Linux amd64 to macOS amd64, arm64
Linux amd64 to Windows amd64, arm64, i686
and so on (to be decided)