-
-
Notifications
You must be signed in to change notification settings - Fork 11.7k
CI: enable free-threaded wheel builds [wheel build] #26512
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
4248f66 to
98c4a07
Compare
|
Unfortunately I think we might need a cython release that builds numpy under free-threaded python. At least if we want to avoid hacks like the change I made to I don't think there's any other way to customize the build requirements? Could I maybe do a sed replacement in pyproject.toml on the build image in the |
98c4a07 to
16cdbb0
Compare
This comment was marked as outdated.
This comment was marked as outdated.
3842ff1 to
0994ab8
Compare
|
Looks like the wheels successfully built for manylinux and musllinux: https://github.com/numpy/numpy/actions/runs/9215227199 |
rgommers
left a comment
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.
This is indeed not mergeable with the change to pyproject.toml. In addition, we may not want to have the cp313t builds in wheel.yml, because I don't think we want to upload them to PyPI for 2.1.0. So how about this:
- copy
wheels.ymlwith these changes tofree_threaded.yml - edit that file so it only contains what is needed for free-threaded builds (no sdist, no other platforms, no upload to the
STAGINGbucket) - set the
PIP_NO_BUILD_ISOLATION=1env var - then build Cython from latest master (no change to
pyproject.tomlneeded anymore, because of turning off build isolation)
Then we can merge this and start uploading to https://anaconda.org/scientific-python-nightly-wheels/numpy
5196394 to
bb037ec
Compare
I ended up doing this in a slightly different way because setting The tests pass on both manylinux and musllinux with the GIL disabled - I think the wheels should be ready to upload along with the nightlies. |
rgommers
left a comment
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.
LGTM! All seems to work as advertised, nice work Nathan. Please feel free to merge once the comment cleanup is done.
3081228 to
81e089f
Compare
| PKG_CONFIG_PATH="$PWD/.openblas" | ||
| DYLD="$DYLD_LIBRARY_PATH:/$PWD/.openblas/lib" | ||
| echo "CIBW_ENVIRONMENT_MACOS=$CIBW PKG_CONFIG_PATH=$PKG_CONFIG_PATH DYLD_LIBRARY_PATH=$DYLD" >> "$GITHUB_ENV" | ||
| fi |
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.
Note for anyone curious: I'm leaving the windows and mac-specific stuff in here even though it's unused because our intention is to add mac builds and then windows builds when that's possible.
81e089f to
e660b15
Compare
[skip cirrus] [skip azp] [skip circle]
e660b15 to
55da74c
Compare
I think all that's needed is this one-line change and the 3.13 wheel builder will automatically create a free-threaded wheel. Let's see...