Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Builds Linux aarch64 wheels using cibuildwheel's built in multi-arch support: https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation
Inspired by matplotlib's approach: https://github.com/matplotlib/matplotlib/blob/main/.github/workflows/cibuildwheel.yml
This uses QEMU emulation since GitHub only offers x86 Linux runners. Cross-compilation isn't built into cibuildwheel yet.
Emulation is about 5x slower than native, but is all-inclusive including the libgraphblas build.
More types are disabled (only for aarch64) because otherwise
suitesparse.sh
only achieves about 70% complete in the 6-hour time limit.cibuildwheel can use the same Linux runner for all Linux architectures. This PR uses a separate runner for aarch64 only. This way aarch64 has the full 6 hours, and also any general wheel issues still show up quickly in the x86 build. The aarch64 build runtime is about 5:15.
NOTE: this is based on the macOS ARM branch #83 NOT main! Merging this will merge that as well. The reason is a change in specifying CIBW_ARCH that would cause a merge conflict.
See #81