rustworkx icon indicating copy to clipboard operation
rustworkx copied to clipboard

Update platform tiers

Open IvanIsCoding opened this issue 9 months ago • 5 comments

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-numpy have 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

IvanIsCoding avatar May 13 '25 01:05 IvanIsCoding

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.

IvanIsCoding avatar May 13 '25 01:05 IvanIsCoding

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 Coverage Status
Change from base Build 16007656987: 0.0%
Covered Lines: 17760
Relevant Lines: 18770

💛 - Coveralls

coveralls avatar May 13 '25 01:05 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

IvanIsCoding avatar May 13 '25 01:05 IvanIsCoding

Test run: https://github.com/IvanIsCoding/rustworkx/actions/runs/14986825229 (excluding macOS, but no changes were made to macOS tiers)

IvanIsCoding avatar May 13 '25 02:05 IvanIsCoding

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.

IvanIsCoding avatar May 29 '25 12:05 IvanIsCoding