Skip to content

Build manylinux aarch64 wheels - #466

Closed
mrpollo wants to merge 1 commit into
symforce-org:mainfrom
mrpollo:mrpollo/linux-aarch64-wheels
Closed

Build manylinux aarch64 wheels#466
mrpollo wants to merge 1 commit into
symforce-org:mainfrom
mrpollo:mrpollo/linux-aarch64-wheels

Conversation

@mrpollo

@mrpollo mrpollo commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

This adds Linux aarch64 wheels to the wheel build, next to the existing x86_64 Linux and arm64 macOS ones. The build-linux job now runs the same cibuildwheel configuration natively on GitHub's free ubuntu-24.04-arm hosted runner (no QEMU), so build times should be in line with the x86_64 jobs. The os matrix entry becomes a runner/arch object like the macOS job already uses, CIBW_BUILD selects manylinux_<arch>, and the per-job artifact names include the arch so the two Linux builds don't collide before merge-wheel-artifacts picks them up. Nothing changes for the existing x86_64 build beyond the artifact name.

I built and tested cp312-manylinux_aarch64 locally with cibuildwheel 3.4.1 against the same manylinux_2_28_aarch64 image (arm64 Docker on Apple Silicon), including run_wheel_tests.py under both symengine and sympy. auditwheel tags the result manylinux_2_27_aarch64.manylinux_2_28_aarch64, matching the x86_64 wheels.

Partially addresses #146.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Ramon Roche mrpollo@gmail.com

Add a linux/aarch64 entry to the build-linux matrix, running the same
cibuildwheel job natively on GitHub's free ubuntu-24.04-arm hosted runner.
The os matrix entry becomes a runner/arch object (like build-macos),
CIBW_BUILD selects manylinux_<arch>, and the per-job artifact names include
the arch so the two Linux builds don't collide before merging.

Verified locally for cp312-manylinux_aarch64 with cibuildwheel 3.4.1 on the
manylinux_2_28_aarch64 image, including run_wheel_tests.py (166/166 passed
under symengine and sympy).

Assisted-by: Claude:claude-fable-5
Signed-off-by: Ramon Roche <mrpollo@gmail.com>
@mrpollo
mrpollo force-pushed the mrpollo/linux-aarch64-wheels branch from 388526f to 8f6eac0 Compare August 18, 2026 22:08

@aaron-skydio aaron-skydio left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thanks! Will get this merged

@mrpollo

mrpollo commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

Thanks @aaron-skydio, looking forward to a release with aarch64 support. We are shipping px4 dev environment in a multi-arch container and we recently bundled symforce from pypi, thats when I realized it didnt' already have arm64 support.

@aaron-skydio

Copy link
Copy Markdown
Member

Very cool. Should be able to tag a point release with this easily

@aaron-skydio

Copy link
Copy Markdown
Member

v0.12 is out now with this change

@mrpollo

mrpollo commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

Thanks @aaron-skydio 🎉

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.

2 participants