1414
1515jobs :
1616 linux :
17- name : Linux ${{ matrix.target }} py${{ matrix.python.version }}
18- runs-on : ubuntu-22.04
17+ name : Linux ${{ matrix.target }} py3.10-3.14
18+ runs-on : ${{ matrix.runner }}
1919 strategy :
2020 fail-fast : false
2121 matrix :
22- python :
23- - version : " 3.10"
24- tag : cp310
25- - version : " 3.11"
26- tag : cp311
27- - version : " 3.12"
28- tag : cp312
29- - version : " 3.13"
30- tag : cp313
31- # rusty_v8 v147.4.0 publishes prebuilt Linux archives only for these
32- # GNU targets. musllinux and other architectures require source builds.
33- target : [x86_64, aarch64]
22+ include :
23+ - runner : ubuntu-22.04
24+ target : x86_64
25+ - runner : ubuntu-24.04-arm
26+ target : aarch64
3427 steps :
3528 - uses : actions/checkout@v4
36- - uses : actions/setup-python@v5
37- with :
38- python-version : ${{ matrix.python.version }}
3929 - name : Build wheel
4030 uses : PyO3/maturin-action@v1
31+ env :
32+ # rusty_v8's prebuilt Linux archive uses a TLS model that cannot be
33+ # linked into a Python extension module. Source builds inject
34+ # V8_TLS_USED_IN_LIBRARY through the v8 crate build script.
35+ V8_FROM_SOURCE : " 1"
4136 with :
4237 target : ${{ matrix.target }}
4338 manylinux : auto
44- args : --release --out dist --interpreter python${{ matrix.python.version }}
45- sccache : ${{ !startsWith(github.ref, 'refs/tags/') }}
39+ docker-options : -e V8_FROM_SOURCE=1
40+ args : >-
41+ --release
42+ --out dist
43+ --interpreter python3.10 python3.11 python3.12 python3.13 python3.14
44+ sccache : true
4645 - name : Upload wheel
4746 uses : actions/upload-artifact@v4
4847 with :
49- name : wheels-linux-${{ matrix.target }}-${{ matrix.python.tag }}
48+ name : wheels-linux-${{ matrix.target }}
5049 path : dist
5150 if-no-files-found : error
5251
8180 architecture : x64
8281 version : " 3.13"
8382 tag : cp313
83+ - runner : windows-latest
84+ target : x64
85+ python :
86+ architecture : x64
87+ version : " 3.14"
88+ tag : cp314
8489 - runner : windows-11-arm
8590 target : aarch64
8691 python :
@@ -99,6 +104,12 @@ jobs:
99104 architecture : arm64
100105 version : " 3.13"
101106 tag : cp313
107+ - runner : windows-11-arm
108+ target : aarch64
109+ python :
110+ architecture : arm64
111+ version : " 3.14"
112+ tag : cp314
102113 steps :
103114 - uses : actions/checkout@v4
104115 - uses : actions/setup-python@v5
@@ -133,6 +144,8 @@ jobs:
133144 tag : cp312
134145 - version : " 3.13"
135146 tag : cp313
147+ - version : " 3.14"
148+ tag : cp314
136149 platform :
137150 - runner : macos-13
138151 target : x86_64
0 commit comments