Skip to content

Modernise stable/1.4 CI scripts#15843

Merged
Cryoris merged 10 commits intoQiskit:stable/1.4from
jakelishman:maintain-1.4
Mar 24, 2026
Merged

Modernise stable/1.4 CI scripts#15843
Cryoris merged 10 commits intoQiskit:stable/1.4from
jakelishman:maintain-1.4

Conversation

@jakelishman
Copy link
Member

@jakelishman jakelishman commented Mar 20, 2026

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.

Summary

Details and comments

This pulls in changes from many PRs to the CI system since 1.4. The most major ones are:

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.
@jakelishman jakelishman added this to the 1.4.6 milestone Mar 20, 2026
@jakelishman jakelishman requested a review from a team as a code owner March 20, 2026 15:53
@jakelishman jakelishman added Changelog: None Do not include in the GitHub Release changelog. ci: test wheels Run the wheel-build scripts as an additional CI run for this PR labels Mar 20, 2026
@qiskit-bot
Copy link
Collaborator

One or more of the following people are relevant to this code:

  • @Qiskit/terra-core
  • @mtreinish

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.
Copy link
Collaborator

@Cryoris Cryoris left a comment

Choose a reason for hiding this comment

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

I locally checked the diff with main on these changed files and left some questions on the diffs below -- but mainly this looks straightforward 👍🏻


- name: Generate rust test coverage report
run: |
python tools/run_cargo_test.py
Copy link
Collaborator

Choose a reason for hiding this comment

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

Does this exist on 1.4?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Just checked: I don't think it does 🤔

Copy link
Member Author

Choose a reason for hiding this comment

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

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"] }
Copy link
Collaborator

Choose a reason for hiding this comment

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

What do we need py-clone for? 🙂

Copy link
Member Author

Choose a reason for hiding this comment

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

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.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Hm interesting, so something in the builds failed without this or how did this pop up?

Copy link
Collaborator

Choose a reason for hiding this comment

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

It's not part of this PR, but do we also want to constrain setuptools>=77.0 in the 1.x series?

Copy link
Member Author

Choose a reason for hiding this comment

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

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.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Security fixes are also only supported until end of the month right? In that case I would be fine not bothering 🙂

Copy link
Collaborator

@Cryoris Cryoris left a comment

Choose a reason for hiding this comment

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

LGTM let's see if the wheels are also happy 🙂

@Cryoris Cryoris added this pull request to the merge queue Mar 24, 2026
Merged via the queue into Qiskit:stable/1.4 with commit 97d2a2d Mar 24, 2026
26 of 27 checks passed
@jakelishman jakelishman deleted the maintain-1.4 branch March 24, 2026 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changelog: None Do not include in the GitHub Release changelog. ci: test wheels Run the wheel-build scripts as an additional CI run for this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants