-
-
Notifications
You must be signed in to change notification settings - Fork 10.8k
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 |
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.yml
with 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
STAGING
bucket) - set the
PIP_NO_BUILD_ISOLATION=1
env var - then build Cython from latest master (no change to
pyproject.toml
needed 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. |
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...