Skip to content
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

Support Python 3.12 and bump rustworkx to 0.13.2 #990

Merged
merged 4 commits into from
Oct 3, 2023

Conversation

IvanIsCoding
Copy link
Collaborator

Start the work to support #986:

  • Bump PyO3 to 0.19.2 to support Python 3.12
  • Add CI tests with Python 3.12 release candidate
  • Update cibuildwheel to 2.16.1, which should build 3.12 wheels

Because this updates PyO3, I think it should trigger a minor version bump to 0.13.2. In the release notes, we can be clear this has little to no change for 0.13.1 users running Python 3.11 or earlier.

@coveralls
Copy link

coveralls commented Sep 30, 2023

Pull Request Test Coverage Report for Build 6392250583

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 2 unchanged lines in 1 file lost coverage.
  • Overall coverage increased (+0.03%) to 96.415%

Files with Coverage Reduction New Missed Lines %
src/connectivity/mod.rs 2 96.51%
Totals Coverage Status
Change from base Build 5703070093: 0.03%
Covered Lines: 15009
Relevant Lines: 15567

💛 - Coveralls

Copy link

@auvipy auvipy left a comment

Choose a reason for hiding this comment

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

Should we consider dropping python 3.7 from CI beside adding python 3.12?

@IvanIsCoding
Copy link
Collaborator Author

IvanIsCoding commented Oct 1, 2023

Should we consider dropping python 3.7 from CI beside adding python 3.12?

No, we supported 3.7 in the 0.13.x series and we’ll keep supporting it. It’s already dropped for 0.14 and onwards

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.

This LGTM, two questions inline but nothing major. The other thing is we probably need to do a cargo build and update the Cargo.lock because rustworkx and rustworkx-core are still at 0.13.1 in the lock file. The other thing is do you want to tag this PR as the 0.13.2, if so we probably should include a release note that notes that this release adds preliminary 3.12 support on top of 0.13.1.

@@ -57,7 +57,7 @@ jobs:
strategy:
matrix:
rust: [stable]
python-version: ['3.7.16', 3.8, 3.9, "3.10", "3.11"]
python-version: ['3.7.16', 3.8, 3.9, "3.10", "3.11", "3.12.0-rc.3"]
Copy link
Member

Choose a reason for hiding this comment

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

I assume we'll have to wait a little bit for the default gha image to get 3.12.0.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It's not in https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json, but the ABI should be identical to the released one

Cargo.lock Outdated Show resolved Hide resolved
@IvanIsCoding
Copy link
Collaborator Author

This LGTM, two questions inline but nothing major. The other thing is we probably need to do a cargo build and update the Cargo.lock because rustworkx and rustworkx-core are still at 0.13.1 in the lock file. The other thing is do you want to tag this PR as the 0.13.2, if so we probably should include a release note that notes that this release adds preliminary 3.12 support on top of 0.13.1.

I added a very brief release note for 0.13.2. So I think we should be able to tag this with 0.13.2 for the release

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.

LGTM, thanks for the quick updates

@mtreinish
Copy link
Member

Oh, actually before we release this we'll need to update cibuildwheel in wheel builds to a newer version that includes 3.12 support

In order to build Python 3.12 wheels on release we need to use a newer
version of cibuildwheel. This commit bumps cibuildwheel to the latest
release 2.16.1 which includes building Python 3.12 wheels by default
using 3.12.0rc3.
@IvanIsCoding IvanIsCoding merged commit b616f5e into Qiskit:stable/0.13 Oct 3, 2023
30 checks passed
@IvanIsCoding
Copy link
Collaborator Author

Oh, actually before we release this we'll need to update cibuildwheel in wheel builds to a newer version that includes 3.12 support

Can you tag this commit as 0.13.2? I don't have the permission

@IvanIsCoding IvanIsCoding deleted the bumping-0.13.2 branch October 3, 2023 22:57
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.

4 participants