Configure cibuildwheel maximum Python version - #16957
Configure cibuildwheel maximum Python version#16957Jake Lishman (jakelishman) wants to merge 1 commit into
cibuildwheel maximum Python version#16957Conversation
|
One or more of the following people are relevant to this code:
|
fe8df7d to
9a3abd0
Compare
If we keep `cibuildwheel` completely up-to-date, it will attempt to build _and test_ wheels up to the maximum current Python, including if it is in pre-release. We don't want our wheel-build jobs to fail if our dependencies aren't ready for the prerelease (as happened with `dill` during the Python 3.15 release-candidate period), so we want to skip the tests for them entirely. Our wheels are still compatible because we build for `abi3`. I used `CIBW_PROJECT_REQUIRES_PYTHON` instead of messing with `CIBW_BUILD` or `CIBW_TEST_SKIP` because it's nicer to express the ABI intent with static globs on `CIBW_BUILD` (i.e. we build `cp3??-*` but not `cp3??t-*` as yet), and `CIBW_TEST_SKIP` is awkward because we'd have to calculate which versions of Python _not_ to build; there's no "test-only" or the like.
9a3abd0 to
7883bbc
Compare
Coverage Report for CI Build 34205988335Coverage increased (+0.02%) to 87.873%Details
Uncovered ChangesNo uncovered changes found. Coverage Regressions4 previously-covered lines in 2 files lost coverage.
Coverage Stats
💛 - Coveralls |
|
On hold while commit 9909985 is on the branch - that's just a test to make sure reconfiguring based on Python versions correctly restricts |
9909985 to
7883bbc
Compare
|
Excellent, it works completely as expected. See the old run, which was on top of 9909985: https://github.com/Qiskit/qiskit/actions/runs/34166990971?pr=16957. |
|
Did it actually work correctly though? You specified the min as 3.11 and the max as 3.13 which should be >=3.11,<=3.13 but it only ran tests on 3.11 and 3.12. I would have expected it to test 3.13 too. |
|
Oh huh yeah, I misread the actual number of versions tested - I was only really paying attention to the lower bound... It'll be the |
If we keep
cibuildwheelcompletely up-to-date, it will attempt to build and test wheels up to the maximum current Python, including if it is in pre-release. We don't want our wheel-build jobs to fail if our dependencies aren't ready for the prerelease (as happened withdillduring the Python 3.15 release-candidate period), so we want to skip the tests for them entirely. Our wheels are still compatible because we build forabi3.I used
CIBW_PROJECT_REQUIRES_PYTHONinstead of messing withCIBW_BUILDorCIBW_TEST_SKIPbecause it's nicer to express the ABI intent with static globs onCIBW_BUILD(i.e. we buildcp3??-*but notcp3??t-*as yet), andCIBW_TEST_SKIPis awkward because we'd have to calculate which versions of Python not to build; there's no "test-only" or the like.Motivated by #16901
AI/LLM disclosure