-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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-43964: [Python] Build macOS and manylinux wheels for free-threading #43965
Conversation
|
We are uploading the nightly wheels the scientific-python-nightly-wheels index like other package do (since yesterday, and we still have our own index on gemfury as well), so this should happen automatically |
@github-actions crossbow submit -g wheel |
This comment was marked as outdated.
This comment was marked as outdated.
For linux (where it already succeeds to the testing step), we will also need to get a 3.13t build of the test image ( |
Yeah, I'm working on that as well. My understanding was that both It might make sense for me to work on that, too, but for now, I'm trying to see how to best circumvent that. Maybe start with an ubuntu images and install a Python from deadsnakes? |
I assume it could be similar as the one you are adding for #43671? (that's also using deadsnakes I think) |
That's one option. To basically add a new service that installs |
@jorisvandenbossche Could you rerun the wheel building jobs? |
@github-actions crossbow submit -g wheel |
This comment was marked as outdated.
This comment was marked as outdated.
Not sure why the Let's please rerun the jobs. (maybe only the macos ones?) |
@github-actions crossbow submit wheel-macos-* |
This comment was marked as outdated.
This comment was marked as outdated.
And another |
No worries at all, I understand the need of testing back and forth on CI |
@github-actions crossbow submit wheel-macos-monterey-cp313-cp313t-* |
Revision: 7fd6c08 Submitted crossbow builds: ursacomputing/crossbow @ actions-3d24c7a697
|
Based on the wheel file name in the upload step in the arm64 build, it seems it tries to upload a non-free-threaded cp313 wheel (instead of cp313t), but a normal one. Although it certainly did build the cp313t wheel (maybe that is related to why it is failing to upload?) There is also still a warning about cffi enabling the GIL, so there needs to be a |
Hmm, good catch. Fixed, along with removing |
@github-actions crossbow submit wheelcp312 wheelcp313 |
@github-actions crossbow submit -g wheel |
Do you see the statuses from this somewhere? |
This comment was marked as outdated.
This comment was marked as outdated.
Well, it took some time, but they've just appeared above :-) |
This comment was marked as outdated.
This comment was marked as outdated.
Turns out the following construct was indeed needed in if: |
'{{ python_abi_tag }}' == 'cp313t' Otherwise a syntax error is reported. Probably something to do with how Github evaluates expressions. |
Ahah! Nice find, and sorry for the disruption. |
@github-actions crossbow submit wheellinux |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit wheel-macos-* wheellinux |
@lysnikolaou Do you also plan to submit a PR for Windows wheels? |
Revision: b966c78 Submitted crossbow builds: ursacomputing/crossbow @ actions-70086a21bd |
Yes, I was planning to do so, as soon as NumPy has a Windows wheel for the |
It seems that compiling Pandas' dev version on arm64 can sometimes fail: Hopefully they will soon produce wheels? @lysnikolaou |
I'm not sure exactly what the plan is about that, but there's definitely challenges to producing |
Ok, hopefully it won't break too often then... |
I'm going to merge now. |
We could potentially also skip installing pandas when testing the arm64 cp313t wheels, if it turns out to be unstable (given it's not a required test dependency) |
After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 1c1f7f3. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 11 possible false positives for unstable benchmarks that are known to sometimes produce them. |
Rationale for this change
Building free-threaded wheels is necessary to support the free-threaded build. We probably want to upload these wheels as nightlies somewhere as well, so that downstream users can test the free-threading-related changes.
What changes are included in this PR?
manylinux
.Are these changes tested?
I tested the
manylinux
wheel builds. macOS is still untested, since it's not dockerized.Are there any user-facing changes?
No.
Related to #43536.