-
Notifications
You must be signed in to change notification settings - Fork 237
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
feat: use SPEC 0 schedule for cibuildwheel #1912
base: main
Are you sure you want to change the base?
Conversation
.github/workflows/test.yml
Outdated
timeout-minutes: 180 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-python@v5 | ||
name: Install Python ${{ matrix.python_version }} | ||
with: | ||
python-version: ${{ matrix.python_version }} | ||
allow-prereleases: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
allow-prereleases: true |
To be removed once 3.13 reaches GA
4ba37cb
to
1e899ff
Compare
I support this change. There is very little reason to hang on to older Pythons on the host side, when we can benefit from new features. To be clear to anyone coming across this, we're talking about the version of Python that is used to run cibuildwheel. That is distinct from the versions of Python that we build wheels for, which would be unchanged by this. |
60a7a82
to
3dd21fc
Compare
270d925
to
065d64c
Compare
0a491ed
to
020e0fd
Compare
I think it's very logical for a project like cibuildwheel to follow SPEC 0 on the host side. |
0a89e08
to
d45caba
Compare
27021d3
to
2a78743
Compare
Let's get 3.13.0 in, make a patch release, then I think this will be ready to merge? |
uv does not use python pre-releases by default anymore. Use the same version as setup-python to ensure that we use the same python.
Also use Python 3.9 for utility python in oci_container.
I was waiting for 3.13.0 final availability in GHA but maybe we don't care that much about that (or removing the |
Don't necessarily need to remove the allow-prereleases. The only time Python pre-releases is for upcoming Python versions, which you opt-into anyway. Maybe |
(and, 3.13.0 is available AFAICT, it's just not shipped in manifests or runner images yet. But also I'm not talking about merging the instant we release, either ;) ) |
As discussed in various issues, I think that cibuildwheel is in position where it might make sense to follow SPEC 0 schedule rather than the CPython schedule. This would allow to take advantage of new Python features faster (or without/ with less back ports).
This draft PR is:
The idea would be to switch to SPEC 0 in 2024Q4 after Python 3.8 EOL & Python 3.13 GA, thus dropping 3.8, 3.9 & 3.10.