-
-
Notifications
You must be signed in to change notification settings - Fork 523
Build CPython 3.14 wheels #1802
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
Conversation
7942968
to
e0e3a7c
Compare
The errors here are also occurring on master |
e8118d7
to
c252f35
Compare
tests/test_ipaddress.py
Outdated
if ( | ||
sys.version_info >= (3, 13) | ||
or ( | ||
sys.version_info < (3, 12) | ||
and ( | ||
sys.version_info >= (3, 11, 13) | ||
or sys.version_info >= (3, 10, 18) | ||
or sys.version_info >= (3, 9, 23) | ||
) | ||
) | ||
): |
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.
Happy to consider alternatives, cause this is gross
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.
Lol it is... Can you explain what it is for? 😄
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 I think this is the followup to
- 3b9aa7c (upstream Improve the textual representation of IPv4-mapped IPv6 addresses python/cpython#87799)
which was backported to 3.9 - 3.12 in June (python/cpython#29345 (comment)) and affected patch releases
- 3.9.23
- 3.10.18
- 3.11.13
- 3.12.11
For some reason, 3.12.11 retains the old textual representation, thus this ugly conditional.
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.
Although I can't reproduce this locally:
for PYVER in 3.9.22 3.9.23 3.10.17 3.10.18 3.11.12 3.11.13 3.12.10 3.12.11 3.13.7
do
uv run -p "${PYVER}" python -c 'import sys, ipaddress; print("%d.%d.%d" % sys.version_info[:3], str(ipaddress.ip_interface("::ffff:102:300/128")))'
done
gives me
3.9.22 ::ffff:102:300/128
3.9.23 ::ffff:1.2.3.0/128
3.10.17 ::ffff:102:300/128
3.10.18 ::ffff:1.2.3.0/128
3.11.12 ::ffff:102:300/128
3.11.13 ::ffff:1.2.3.0/128
3.12.10 ::ffff:102:300/128
3.12.11 ::ffff:1.2.3.0/128
3.13.7 ::ffff:1.2.3.0/128
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.
Ok, so see 2748a84.
I think the workflow is using some Python 3.12 earlier than 3.12.11. actions/setup-python
is correctly installing 3.12.11 so my suspicion is that Tox is resolving to the default Python in the Ubuntu 24.04 runner.
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.
Let's just make a condition based on what we can observe in Python behaviour:
if str(ipaddress.ip_interface("::ffff:102:300/128")) == "::ffff:1.2.3.0/128":
... # new style
elif str(ipaddress.ip_interface("::ffff:102:300/128")) == "::ffff:102:300/128":
... # old style
else:
assert False, "unexpected"
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.
Done!
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.
I have cherry-picked this changeset already on master in order to clear the CI status, so it won't appear in this MR anymore, but it's already committed (236c52b) and the attribution retained, thank you!
CI on master is now fixed so this branch will be merged too soon.
Python 3.14 was released yesterday 🎉 Is this ready to merge? |
676b62c
to
820e6af
Compare
The build CI job is pretty broken. Trying to fix it. |
2e957b7
to
7d75690
Compare
7d75690
to
80872cb
Compare
Python 3.14 is scheduled to be released next week.