Skip to content

Build manylinux/musllinux aarch64 wheels - #81

Closed
colinbjohnson wants to merge 1 commit into
jeffdaily:masterfrom
cloudavail:add-linux-arm64-wheels
Closed

Build manylinux/musllinux aarch64 wheels#81
colinbjohnson wants to merge 1 commit into
jeffdaily:masterfrom
cloudavail:add-linux-arm64-wheels

Conversation

@colinbjohnson

@colinbjohnson colinbjohnson commented Aug 23, 2026

Copy link
Copy Markdown

Replaces the duplicated manylinux_x86_64/musllinux_i686 matrix entries with aarch64 builds. Uses GitHub's native ubuntu-24.04-arm runner rather than QEMU emulation, so no cross-arch build step is needed.

Also bumps actions/checkout, cibuildwheel, and upload/download-artifact past the retired v3 actions — GitHub now hard-fails any job using actions/upload-artifact@v3, which was breaking every job in this workflow (not just aarch64) regardless of branch. upload-artifact@v4 requires a unique name per upload, so each matrix leg and the sdist job now upload under distinct names, merged back together in upload_pypi via download-artifact's pattern/merge-multiple.

Closes #80. Related to #76 (same duplicate-entry fix, predates native arm64 runner availability) and #77/#78 (same action-version bumps, needed for CI to run at all).

@colinbjohnson
colinbjohnson force-pushed the add-linux-arm64-wheels branch 2 times, most recently from c44d295 to 4f72dc9 Compare August 23, 2026 18:01
Replaces the duplicated manylinux_x86_64/musllinux_i686 matrix
entries with aarch64 builds on GitHub's native ubuntu-24.04-arm
runner (no QEMU emulation needed).

Also bumps actions/checkout, cibuildwheel, and upload/download-artifact
past the retired v3 actions (GitHub now hard-fails any job using
actions/upload-artifact@v3), which was blocking CI on master entirely.
upload-artifact v4 requires unique names per upload, so each matrix
leg and the sdist job now upload under distinct names, merged back
together in upload_pypi via download-artifact's pattern/merge-multiple.

Closes jeffdaily#80
@colinbjohnson
colinbjohnson force-pushed the add-linux-arm64-wheels branch from 4f72dc9 to fe09809 Compare August 23, 2026 18:06
@colinbjohnson

Copy link
Copy Markdown
Author

Closing for now while we finish validating this locally (no floating ubuntu-latest-arm runner alias exists yet — pinned to ubuntu-24.04-arm: https://github.blog/changelog/2024-06-24-github-actions-ubuntu-24-04-image-now-available-for-arm64-runners/). Will reopen once CI is green.

@colinbjohnson

Copy link
Copy Markdown
Author

Reopening — Linux aarch64 (manylinux + musllinux) and macOS arm64 now build successfully on this branch.

macosx_x86_64 still fails independently of this change: macos-latest now points to Apple Silicon hardware, and build_parasail() in setup.py doesn't pass --host/ARCHFLAGS through to the bundled C library's configure, so it cross-builds the wrong architecture when CIBW_ARCHS: x86_64 is requested on an arm64 runner (delocate-wheel: Failed to find any binary with the required architecture: 'x86_64'). This would fail identically on unmodified master today — it's a separate, pre-existing issue unrelated to this PR's goal, leaving out of scope for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Publish manylinux_aarch64 wheels

1 participant