Test 3.13 free-threaded build on CI #8200
Merged
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.

For #8199.
Currently GitHub's
actions/setup-pythondoes not yet support free-threading but it has been requested: actions/setup-python#771 (give it a 👍)However, it is available via
deadsnakes/action:This PR adds an Ubuntu
3.13-devjob to the matrix, to run tests with a free-threaded build.The build actually runs with the GIL enabled, we'll need to explicitly indicate in the extensions that they should run with it disabled. This will be changed in a follow-up PR.
We can check if Python is built with free-threaded mode by looking for "experimental free-threading build" in
python --version --version. On the CI we can see it under "Build system information":https://github.com/python-pillow/Pillow/actions/runs/9794942077/job/27045976814#step:5:10
Compared to the regular build:
https://github.com/python-pillow/Pillow/actions/runs/9794942077/job/27045975199#step:5:16