-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
GH-44421: [Python] Add configuration for building & testing free-threaded wheels on Windows #44804
base: main
Are you sure you want to change the base?
Conversation
|
If someone could trigger the new jobs, that'd be really helpful! |
@github-actions crossbow submit -g wheel-windows-* |
|
@github-actions crossbow submit wheel-windows-* |
Revision: 78d8f9e Submitted crossbow builds: ursacomputing/crossbow @ actions-86ba33e477 |
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.
Thanks for the PR, I triggered the CI jobs
Unfortunately, while the free-threaded wheel is built correctly, |
Also, the failure on 3.9 is that |
I haven't tested and I am unsure if this works but maybe we can try this (https://stackoverflow.com/a/21912169): |
The Windows failure is probably related to pypa/setuptools#4662 and should be fixed in the next setuptools release. |
Hmm, that one should be fixed in CPython AFAIU: python/cpython#111650 |
Ah, scratch that, the rationale is actually here: |
Well, stderr should already be shown by default, so it's weird that nothing gets displayed. |
95a0a53
to
83a76e3
Compare
@github-actions crossbow submit wheel-windows-* |
Given setuptools does not seem in a hurry to merge the distutils fix, I've tried to push a manual workaround in this PR. |
Revision: 83a76e3 Submitted crossbow builds: ursacomputing/crossbow @ actions-5bfc22ac30 |
Well, building the free-threaded wheel failed with:
Edit: I've checked: that file exists in a Python 3.13 Windows install. |
@github-actions crossbow submit wheel-windows-cp313* |
@github-actions crossbow submit wheel-windows* |
1 similar comment
@github-actions crossbow submit wheel-windows* |
Revision: f2e5f86 Submitted crossbow builds: ursacomputing/crossbow @ actions-8af848e3db |
Revision: 3b7e272 Submitted crossbow builds: ursacomputing/crossbow @ actions-ab1b9c5aa7 |
@github-actions crossbow submit wheel-windows* |
Revision: e51b395 Submitted crossbow builds: ursacomputing/crossbow @ actions-6c4f3fb019 |
@github-actions crossbow submit wheel-windows* |
Revision: 8416d0c Submitted crossbow builds: ursacomputing/crossbow @ actions-72745204d9 |
@github-actions crossbow submit wheel-windows* |
Revision: 7ebb73e Submitted crossbow builds: ursacomputing/crossbow @ actions-29a34e2f58 |
It looks like pypa/setuptools#4662 is now available in setuptools 75.7.0. I will try to undo the custom workaround here. |
@github-actions crossbow submit wheel-windows* |
This comment was marked as outdated.
This comment was marked as outdated.
7ebb73e
to
b3ce08c
Compare
@github-actions crossbow submit wheel-windows* |
Revision: b3ce08c Submitted crossbow builds: ursacomputing/crossbow @ actions-ec43532048 |
ci/docker/python-free-threaded-wheel-windows-test-vs2019.dockerfile
Outdated
Show resolved
Hide resolved
|
||
# based on mcr.microsoft.com/windows/servercore:ltsc2019 | ||
# contains choco and vs2019 preinstalled | ||
FROM abrarov/msvc-2019:2.11.0 |
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.
Can we use python-wheel-windows-test-vs2019-base.dockerfile
as the base image?
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.
Why would we? That would make things more complicated.
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.
Because I felt that python-wheel-windows-{,test-}vs2019-base.dockerfile
have many duplication. But I re-read them now, there are not so much duplication. Sorry.
4c9872d
to
097c9c6
Compare
@github-actions crossbow submit wheel-windows* |
Revision: 764437b Submitted crossbow builds: ursacomputing/crossbow @ actions-f31cf1d015 |
Updated CI still green, this is ready for review again @kou |
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.
+1
PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2025-01-06 | ||
PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2025-01-06a |
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.
Can we avoid the a
suffix?
PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2025-01-06 | |
PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2025-01-06a | |
PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2025-01-08 | |
PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2025-01-08 |
@@ -39,7 +39,7 @@ repos: | |||
files: >- | |||
( | |||
?^ci/docker/conda-python-emscripten\.dockerfile$| | |||
?^ci/docker/python-wheel-windows-test-vs2019\.dockerfile$| | |||
?^ci/docker/python-.*-wheel-windows-test-vs2019.*\.dockerfile$| |
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.
Does this match python-wheel-windows-vs2019-base.dockerfile
?
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.
Probably not, but this is asking for more and more things that are outside of the scope of this PR...
Also, the diagnostics emitted by hadolint don't seem terribly useful, especially when we have to silence most of them.
# when you update this file. | ||
|
||
ARG base | ||
# hadolint ignore=DL3006 |
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.
Could you add a comment that explains what is DL3006?
A link to https://github.com/hadolint/hadolint/wiki/DL3006 and the summary in the page ("Always tag the version of an image explicitly.") will be enough.
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.
Uh, sure. But is hadolint actually useful? It seems terribly limited.
echo "=== (%PYTHON_VERSION%) Clear output directories and leftovers ===" | ||
echo "=== (%PYTHON%) Clear output directories and leftovers ===" |
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.
Ah, I missed it.
Rationale for this change
There's no blockers anymore for building Windows wheels for the free-threaded build, so this PR adds the necessary configuration to do that.
What changes are included in this PR?
Are these changes tested?
No tests required.
Are there any user-facing changes?
No.