Skip to content

CI: Set up free-threaded CI using quansight-labs/setup-python #27707

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

Merged
merged 3 commits into from
Nov 6, 2024

Conversation

ngoldbaum
Copy link
Member

@ngoldbaum ngoldbaum commented Nov 5, 2024

We've forked actions/setup-python to enable installing free-threaded python on more platforms. See Quansight-Labs/free-threaded-compatibility#107 for context.

This makes the MacOS and Linux tests use the forked version of setup-python to enable integrating the free-threaded tests with the rest of the CI configuration.

This creates two new CI jobs that run against every PR for MacOS free-threaded using builds on intel and ARM CPUs. The linux CI job isn't new, but now it's integrated better with the smoke tests. I also took the opportunity to drop 3.13-dev from the build matrix.

Updating Windows CI is blocked on a spin release, see scientific-python/spin#241.

Supersedes #27581.

[skip azp] [skip cirrus] [skip circleci]
@ngoldbaum ngoldbaum added component: CI 39 - free-threading PRs and issues related to support for free-threading CPython (a.k.a. no-GIL, PEP 703) labels Nov 5, 2024
@ngoldbaum
Copy link
Member Author

I know chuck already approved, but I just pushed a fixup so the MacOS accelerate tests have shorter names so the python version is still visible in the PR summary.

@ngoldbaum ngoldbaum requested a review from rgommers November 5, 2024 23:28
Copy link
Member

@rgommers rgommers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @ngoldbaum. This does add two extra jobs; okay for now but if that becomes too much, we can prune one of the two x86-64 ones.

Since you tweaked job names, I pushed one more tiny commit to remove a not-so-useful (meson) from the job name.

@mattip
Copy link
Member

mattip commented Nov 6, 2024

Can you add a comment somewhere to make it easier to check back periodically to see when the upstream action adds free-threading versions? I understand the need for the fork but fear it might bitrot over time

@charris
Copy link
Member

charris commented Nov 6, 2024

make it easier to check back periodically

I think dependabot will keep it updated and hopefully the release note with the update will have that information. We will see.

@charris charris merged commit 397b7a8 into numpy:main Nov 6, 2024
2 checks passed
@charris
Copy link
Member

charris commented Nov 6, 2024

Thanks Nathan.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
39 - free-threading PRs and issues related to support for free-threading CPython (a.k.a. no-GIL, PEP 703) component: CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants