Skip to content

CI: add macOS arm64, Linux aarch, remove i686 wheels, trim test matrix #476

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 11, 2025

Conversation

rgommers
Copy link
Collaborator

@rgommers rgommers commented May 9, 2025

This modernizes the CI setup to do the following:

  • Test jobs that runs on PRs:
    • Adds macOS arm64
    • Adds Linux aarch64
    • Removes running duplicate jobs on ubuntu-22.04 and ubuntu-latest (both x86-64, not useful)
    • Removes running jobs for every single minor Python version, but rather runs mininum (3.9), maximum (3.13) supported versions + free-threading (3.13t)
    • Refactors the test matrix so it's easier to read (no more exclude) jobs
  • Wheel build jobs (logs from a wheel build run here):
    • Restores macOS x86-64 (those went missing from recent releases due to macos-latest switching from x86-64 to arm64, see e.g. https://pypi.org/project/Bottleneck/1.4.2/#files)
    • Adds Linux aarch64
    • Removes 32-bit Linux jobs (those are super slow and not useful, because NumPy stopped shipping i686 wheels a while back

I left the windows-2019/windows-latest test jobs duplication; that's probably also not useful, but it's harder to be sure of that than on Linux. Windows arm64 can be added later, once NumPy 2.3.0 publishes win-arm64 wheels.

Adds the platforms as proposed in gh-474
Closes gh-464
Closes gh-395
Closes gh-394

rgommers added 2 commits May 9, 2025 18:50
It is unnecessary to run tests on every Python version - if minimum
and maximum supported versions pass, things should be good. Otherwise,
there is too much duplication given all the extra platforms
(arm64/aarch64) that we're running on now.
NumPy hasn't shipped i686 wheels in a while. This causes the
i686 wheels in this repo to build NumPy from source, and hence
the `ubuntu-latest` wheel build job takes a very long time.
It doesn't make too much sense to ship wheels for a platform
that NumPy doesn't support, so disable `manylinux_i686` and
`musllinux_i686`.
@rgommers rgommers added the packaging Issues related to installing or building bottleneck label May 9, 2025
Also refactor Python version coverage a bit, so all supported Python
feature versions are tested again, without having too much duplication
The dense matrix of platforms x architectures x python versions
would otherwise be too large.
@rgommers
Copy link
Collaborator Author

Comments addressed now - please take another look.

@rdbisme rdbisme merged commit 7945649 into pydata:master May 11, 2025
30 checks passed
@rgommers rgommers deleted the aarch64-wheels branch May 11, 2025 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packaging Issues related to installing or building bottleneck
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build failing for arm64
2 participants