Modernise stable/1.4 CI scripts#15843
Conversation
The 1.4.x series of Qiskit is coming to the end of its security life soon, but we haven't made a release in it for about five months, and we know we've had to merge deployment-script fixes to `main` since then. This cherry-picks the CI/CD configuration up to match (approximately) `main`, except for adjusting the supported versions of Python as appropriate. This is mostly just ensuring that any final release in the series will be able to success go out.
|
One or more of the following people are relevant to this code:
|
In 183e9f4 we introduced approximate comparisons in the Miri tests for `SparsePauliOp` because we want the Miri coverage, but not the concerns about testing exact floating-point equality of operations.
ec3189b to
8e2bf0b
Compare
Cryoris
left a comment
There was a problem hiding this comment.
I locally checked the diff with main on these changed files and left some questions on the diffs below -- but mainly this looks straightforward 👍🏻
.github/workflows/coverage.yml
Outdated
|
|
||
| - name: Generate rust test coverage report | ||
| run: | | ||
| python tools/run_cargo_test.py |
There was a problem hiding this comment.
Just checked: I don't think it does 🤔
There was a problem hiding this comment.
Oh, thanks - I'll update it. It didn't appear in CI because we only run the coverage job on push to anything, or PRs to main.
| # it disabled for Rust-only tests to avoid linker errors with it not being loaded. See | ||
| # https://pyo3.rs/main/features#extension-module for more. | ||
| pyo3 = { version = "0.22.6", features = ["abi3-py39"] } | ||
| pyo3 = { version = "0.22.6", features = ["abi3-py39", "py-clone"] } |
There was a problem hiding this comment.
What do we need py-clone for? 🙂
There was a problem hiding this comment.
I'm not actually sure why it didn't get automatically enabled during the build like it used to, but we've always (and even on main still do) logically use py-clone, so this isn't adding a new feature, just making sure an old one is set.
There was a problem hiding this comment.
Hm interesting, so something in the builds failed without this or how did this pop up?
There was a problem hiding this comment.
It's not part of this PR, but do we also want to constrain setuptools>=77.0 in the 1.x series?
There was a problem hiding this comment.
We don't need to - on 1.4, we're not using the newer form of specification of the license key in pyproject.toml. That said, I could pull in that change if you prefer too to suppress the packaging warning and make it work longer into the future with setuptools.
There was a problem hiding this comment.
Security fixes are also only supported until end of the month right? In that case I would be fine not bothering 🙂
1c4d7c5 to
12f1707
Compare
Cryoris
left a comment
There was a problem hiding this comment.
LGTM let's see if the wheels are also happy 🙂
The 1.4.x series of Qiskit is coming to the end of its security life soon, but we haven't made a release in it for about five months, and we know we've had to merge deployment-script fixes to
mainsince then. This cherry-picks the CI/CD configuration up to match (approximately)main, except for adjusting the supported versions of Python as appropriate.This is mostly just ensuring that any final release in the series will be able to success go out.
Summary
Details and comments
This pulls in changes from many PRs to the CI system since 1.4. The most major ones are: