python-cffi / cffi

A Foreign Function Interface package for calling C libraries from Python.
https://cffi.readthedocs.io/en/latest/
Other
114 stars 41 forks source link

Build `aarch64` `musllinux` wheel #69

Closed harryzcy closed 6 months ago

harryzcy commented 7 months ago

super-linter is preparing for arm64 support https://github.com/super-linter/super-linter/issues/5070. It would be very helpful to have a musllinux_aarch64 wheel

Fix #41

harryzcy commented 7 months ago

@arigo @nitzmahone Can you help to review this? Thank you

harryzcy commented 6 months ago

The CI is passing on my fork. See https://github.com/harryzcy/cffi/actions/runs/8071125490

Can you help to approve the CI workflow? or is there anything blocking? Thanks

arigo commented 6 months ago

I have no idea how .github/workflows/ci.yaml works, but if Matt cannot do the review for the time being, I would be happy to accept your PR with just a few words from you: it looks like it's only adding support to run on some extra CI system of github, right? Is there any side-effect to take into account for us?

harryzcy commented 6 months ago

it looks like it's only adding support to run on some extra CI system of github, right?

Yes

Is there any side-effect to take into account for us?

I'm not aware of any. I don't think it effects existing wheels for other os/architecture, since the build happens separately for each system.

Thanks

harryzcy commented 6 months ago

@arigo Thanks!

arigo commented 6 months ago

:-)

nitzmahone commented 6 months ago

Sorry, been buried the past few weeks leading up to a vacation (first day back)...

I should've commented earlier: I'd been trying to avoid adding new support for wheel builds on arches where we don't have native builders. The full test suite is prohibitively slow on emulated builds (and Windows, for reasons I still haven't had time to investigate), so these wheels will be effectively untested beyond the very tiny slice of the test suite that we run on the Windows wheels and anything non-Intel or Apple Silicon. Caveat Emptor :wink:

nitzmahone commented 6 months ago

PS, been working a bit with @samdoran on fixing up the test fixture isolation to work properly with pytest-xdist - that should allow us to run the tests much faster in parallel worker processes.

harryzcy commented 6 months ago

Unrelated to this PR, macos-14 would provide Apple Silicon and it has no intel-mac as a standard GitHub runner. I don't see how other linux non-intel arches would be possible without emulation.