CI: Build Linux AArch64 wheels natively, and add Arm runners for testing#788
Conversation
|
For some reason, I can't trigger https://github.com/PyWavelets/pywt/actions/workflows/wheel_tests_and_release.yml. I do remember that those with triage permissions were able to do that at some point in the past, perhaps GitHub changed that... could you please trigger the workflow, @rgommers? |
|
In the meantime, now that the runners are available, I can also expand the changes to |
9b47edc to
e49692a
Compare
e49692a to
52e7f6a
Compare
rgommers
left a comment
There was a problem hiding this comment.
Thanks! Switching to native runners looks like a good idea. The change in the wheels job looks right. The changes in tests.yml don't quite look right (aside from the possible syntax issue & disappearing job), because we don't want to double the number of jobs. Instead, can you please change 1 job over and leave the rest unchanged?
|
Thanks, @rgommers! I fixed the disappearing jobs; the error message was a bit cryptic.
With 3a1ffa8, we're running only the "default" set of tests for Linux arm64, while Linux amd64 will run the "with-scipy", "minimum-req", "refguide-check", and "pre-releases" jobs in addition to the "default" set. Is this what you had in mind? |
Closer, but not quite. On this PR I now see these 6 jobs: That's pretty wasteful, there is no need for iterating over all Python versions already, let alone twice. I'd be fine with either 2 or 3 jobs there: we need to cover minimum/maximum Python version, and amd64/aarch64. So two jobs in total would cover that. While you're at it, perhaps bump the maximum from 3.12 to 3.13? |
|
Done; we now have two jobs with Python 3.10 and Python 3.13 for Linux amd64 (plus the extra jobs with options), and one job with Python 3.13 for Linux arm64. |
|
0832609 does the same for macOS, bumping to Python 3.13. I notice we're not testing Intel macOS runners. Should we add them, or leave them out? |
|
The segfault is unrelated and tracked via #782 already. |
rgommers
left a comment
There was a problem hiding this comment.
LGTM now, let's give this a go (wheels get built on merge to main). Thanks Agriya!


Description
This PR switches the Linux arm64/aarch64 wheels to build natively on
ubuntu-22.04-arminstead of using emulation.(Hopefully?) fixes #787
Additional context