Update platform tiers
Closes #1378
The changes are in the relase note, but a summary is:
- Linux aarch64 has been promoted to Tier 1
- To test aarch64 in CI without adding 4/5 new jobs, I had the idea of making the MSRV job and the Rust Beta job use aarch64. I thought that was clever solution. If anyone disagrees let me know
- Linux x86_64 (musl) and aarch64 (musl) now are Tier 2. Since #992 NumPy has expanded support for musl so we can actually run tests without compiling NumPy which is very nice.
- i686 is downgraded to Tier 4. Why? Because we're forced to compile NumPy to test it. That takes most of our release process time. So I decided to cut it
- win32 is downgraded to Tier 4 with the warning that the upstream maintainers of
rust-numpyhave seriously considered dropping it - PowerPC64 is downgraded to Tier 4. Honestly, in the last release we weren't even able to build it. Let anone test it. I will try to fix the QEMU issues before the 0.17 release
Also, according to https://cibuildwheel.pypa.io/en/stable/options/#linux-image i686 is going to be deleted on manylinux_2_28. That is very soon. So I think downgrading i686 to Tier 4 is fairly reasonable.
Pull Request Test Coverage Report for Build 16009961272
Details
- 0 of 0 changed or added relevant lines in 0 files are covered.
- No unchanged relevant lines lost coverage.
- Overall coverage remained the same at 94.619%
| Totals | |
|---|---|
| Change from base Build 16007656987: | 0.0% |
| Covered Lines: | 17760 |
| Relevant Lines: | 18770 |
💛 - Coveralls
~@mtreinish just a reminder to make python3.10-arm64 ubuntu-24.04-arm MSRV the job blocking for the CI check if we merge this. Right now it checks python3.10-x64 ubuntu-latest MSRV~
we are keeping the tests as they are + adding aarch64 tests
Test run: https://github.com/IvanIsCoding/rustworkx/actions/runs/14986825229 (excluding macOS, but no changes were made to macOS tiers)
Overall I'm fine with these changes they all make sense. I had a few inline suggestions, comments, and musings. But nothing major. I am wondering if we want to rethink our CI structure a bit though to try and reduce the number of jobs we're running. It does seem to be quite a lot now.
So, I added all aarch64 tests but I think as a follow up we could have the following structure:
- x86-64 for linux: always run all tests, that is the most downloaded target
- macOS, Windows, aarch64 linux: test minimum and maximum
- Add a brand new Alpine job to test musl, at least for x86_64
- MSRV + Rust beta
Then we run a nightly build or a build every other day as rustworkx doesn't get as many commits as Qiskit.
I'd rather do that change after 0.17 though.