Skip to content

Commit 78630ab

Browse files
committed
Update free-threaded interpreter configurations
Keep build-manylinux-x86_64 free-threaded interpreters unchanged. Specify python3.13t and python3.14t for build-manylinux-aarch64 free-threaded matrix. Add before-script-linux in aarch64 maturin-action to install and verify free-threaded interpreters.
1 parent 01216c0 commit 78630ab

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

.github/workflows/build.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ jobs:
366366
artifact-label: cp310-314
367367
wheel-mode: abi3
368368
maturin-features: protoc,substrait,py-limited-api
369-
- interpreter: "3.13t 3.14t"
369+
- interpreter: "python3.13t python3.14t"
370370
artifact-label: cp313t-314t
371371
wheel-mode: freethreaded
372372
maturin-features: protoc,substrait
@@ -403,6 +403,19 @@ jobs:
403403
# Use manylinux_2_28-cross because the manylinux2014-cross has GCC 4.8.5, which causes the build to fail
404404
manylinux: 2_28
405405
rustup-components: rust-std rustfmt # Keep them in one line due to https://github.com/PyO3/maturin-action/issues/153
406+
before-script-linux: |
407+
if [[ "${{ matrix.wheel-mode }}" == "freethreaded" ]]; then
408+
set -euxo pipefail
409+
if ! command -v python3.13t >/dev/null || ! command -v python3.14t >/dev/null; then
410+
curl -LsSf https://astral.sh/uv/install.sh | sh
411+
export PATH="$HOME/.local/bin:$PATH"
412+
uv python install 3.13t 3.14t
413+
ln -sf "$(uv python find 3.13t)" /usr/local/bin/python3.13t
414+
ln -sf "$(uv python find 3.14t)" /usr/local/bin/python3.14t
415+
fi
416+
python3.13t --version
417+
python3.14t --version
418+
fi
406419
args: --release --features ${{ matrix.maturin-features }} -i ${{ matrix.interpreter }}
407420
- name: Archive wheels
408421
uses: actions/upload-artifact@v4

0 commit comments

Comments
 (0)