Skip to content

Update platform tiers #1448

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 13 commits into from
Jul 2, 2025
Merged

Update platform tiers #1448

merged 13 commits into from
Jul 2, 2025

Conversation

IvanIsCoding
Copy link
Collaborator

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 Binaries for alpine linux ? #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 IvanIsCoding added this to the 0.17.0 milestone May 13, 2025
@IvanIsCoding IvanIsCoding requested a review from mtreinish May 13, 2025 01:20
@IvanIsCoding
Copy link
Collaborator Author

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.

@coveralls
Copy link

coveralls commented May 13, 2025

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

@IvanIsCoding
Copy link
Collaborator Author

IvanIsCoding commented May 13, 2025

@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
Copy link
Collaborator Author

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

Copy link
Member

@mtreinish mtreinish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

- Distributions compatible with the `manylinux 2014`_ packaging specification
* - Linux
- pp64le
- :ref:`tier-3`
- :ref:`tier-4`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are runner options for open source projects on the IBM CPU architectures now: https://community.ibm.com/community/user/ibmz-and-linuxone/blogs/elizabeth-k-joseph1/2025/05/19/expanding-open-source-access-hosted-github-actions if we were interested (not that I think we really are) in raising the level here we could investigate those. But I think the usage on these platforms is low enough that it doesn't warrant a higher tier of support right now.

TBH, I didn't remember we had ppc64le at tier 3. Downgrading it makes sense to me.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we could use those projects for the release, that itself would be very interesting.

But it seems QEMU is working for this time. So maybe for 0.18

@IvanIsCoding
Copy link
Collaborator Author

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.

@mtreinish mtreinish added this pull request to the merge queue Jul 2, 2025
Merged via the queue into Qiskit:main with commit 5ecfdb7 Jul 2, 2025
36 checks passed
SILIZ4 pushed a commit to SILIZ4/rustworkx that referenced this pull request Jul 4, 2025
* Change platform tiers

* Add release notes explaining platform tier changes

* Minor grammar correction

* Apply suggestions from code review

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Adding all aarch64 tests

---------

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Review Platform Tiers
3 participants