-
Notifications
You must be signed in to change notification settings - Fork 65
Add Python 3.14 + drop Python 3.11 #306
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
base: master
Are you sure you want to change the base?
Conversation
@agners This PR would also be ready for review. The one failing test is probably just flaky and needs a restart. |
I restarted the failing job |
From what I can tell we did not merge Python rc versions in the past. Should we maybe use a different tag for the images and/or at least add a note in the |
Yes, though one of the reasons I imagine was the low priority and the frequent CI issues. I was working on mypyc and compiling Python 3.14 for it anyway so it was fairly strait forward for me to identify the recursion errors in the test suite and add a patch to skip the relevant test cases.
Hmm, not sure a different tag makes sense. That's just something which needs to be reverted in time and will require changes in downstream projects. How about I update the README and revert the |
The failing debian bullseye armhf build is unrelated. Looks like the package repository link doesn't work anymore. Seems it might have been removed last week / at least an earlier run did still succeed. Anyway, the next debian release is scheduled for next week so might make sense to drop support for bullseye together with it. -- |
@cdce8p from my point of view we can remove bullseye already today to make this green. The images are still there just in case. |
@agners CI looks good now. All checks passed. |
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.
So far we did not release base images at rc time. I am a bit worried that folks end up using rc releases of Python accidentally. Should we maybe reflect rc in the tag? 🤔
Good to know, so yeah this should make it safe to build wheels and use them post 3.14 release. That said, there could be bugs in Python 3.14 rc releases which generate "bad" Python wheels. At the very least I would still purge all Python wheels when we move to a stable 3.14 Python version. We've discussed this PR today: Besides the above, another concern is that it will lengthen the wheels build time. Also, this time around the intention is to jump to Python 3.14 only after we drop the currently deprecated architectures (which is scheduled in December). This avoids unnecessary work put into getting the deprecated architecture working when we simply drop them a couple weeks later. For testing it should be possible to create rc base images locally and run the build wheels locally. So we'd rather prefer to hold off bumping at least until 3.14 is out. |
Python 3.14.0rc1 was released tree days ago. Add it to the build matrix.
Since there will be
no ABI changes
from this point forward, it's safe to use it for the wheel builder.https://www.python.org/downloads/release/python-3140rc1/
Unfortunately the musl detection broke in 3.14 again. Added a patch to hard code it. Also added one to skip some tests which result in recursion errors.
The build uses the sigstore validation introduced in #303 since PGP signatures are no longer provided for 3.14.