@@ -34,48 +34,40 @@ jobs:
3434 - id : noxenvs-matrix
3535 run : |
3636 echo >>$GITHUB_OUTPUT noxenvs=$(
37- uvx nox --list-sessions --json | jq '[.[]. session]'
37+ uvx nox --list-sessions --json | jq '[.[] | { session, python} ]'
3838 )
3939
4040 test :
41- name : Test
41+ name : Test (${{ matrix.session }})
4242 needs : list
4343 runs-on : ubuntu-latest
4444
4545 strategy :
4646 fail-fast : false
4747 matrix :
48- noxenv : ${{ fromJson(needs.list.outputs.noxenvs) }}
48+ include : ${{ fromJson(needs.list.outputs.noxenvs) }}
4949
5050 steps :
5151 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5252 with :
5353 persist-credentials : false
5454 - name : Install dependencies
5555 run : sudo apt-get update && sudo apt-get install -y libenchant-2-dev
56- if : runner.os == 'Linux' && startsWith(matrix.noxenv , 'docs')
56+ if : runner.os == 'Linux' && startsWith(matrix.session , 'docs')
5757 - name : Install dependencies
5858 run : brew install enchant
59- if : runner.os == 'macOS' && startsWith(matrix.noxenv , 'docs')
59+ if : runner.os == 'macOS' && startsWith(matrix.session , 'docs')
6060 - name : Set up Python
6161 uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
6262 with :
63- python-version : |
64- 3.10
65- 3.11
66- 3.12
67- 3.13
68- 3.13t
69- 3.14
70- 3.14t
71- pypy3.11
63+ python-version : ${{ matrix.python }}
7264 allow-prereleases : true
7365
7466 - uses : astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
7567 with :
7668 enable-cache : ${{ github.ref_type != 'tag' }} # zizmor: ignore[cache-poisoning]
7769 - name : Run nox
78- run : uvx nox -s "${{ matrix.noxenv }}" # zizmor: ignore[template-injection]
70+ run : uvx nox -s "${{ matrix.session }}" # zizmor: ignore[template-injection]
7971
8072 manylinux :
8173 name : Build manylinux wheels
@@ -104,20 +96,21 @@ jobs:
10496 - uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
10597 with :
10698 python-version : |
107- 3.10
10899 3.11
109100 3.12
110101 3.13
111102 3.13t
112103 3.14
113104 3.14t
105+ 3.15
106+ 3.15t
114107 pypy3.11
115108 allow-prereleases : true
116109 - name : Build wheels
117110 uses : PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
118111 with :
119112 target : ${{ matrix.target }}
120- args : --release --out dist --interpreter '3.10 3. 11 3.12 3.13 3.13t 3.14 3.14t pypy3.11'
113+ args : --release --out dist --interpreter '3.11 3.12 3.13 3.13t 3.14 3.14t 3.15 3.15t pypy3.11'
121114 sccache : ${{ github.ref_type != 'tag' }} # zizmor: ignore[cache-poisoning]
122115 manylinux : auto
123116 - name : Upload wheels
@@ -147,20 +140,21 @@ jobs:
147140 - uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
148141 with :
149142 python-version : |
150- 3.10
151143 3.11
152144 3.12
153145 3.13
154146 3.13t
155147 3.14
156148 3.14t
149+ 3.15
150+ 3.15t
157151 pypy3.11
158152 allow-prereleases : true
159153 - name : Build wheels
160154 uses : PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
161155 with :
162156 target : ${{ matrix.target }}
163- args : --release --out dist --interpreter '3.10 3. 11 3.12 3.13 3.13t 3.14 3.14t pypy3.11'
157+ args : --release --out dist --interpreter '3.11 3.12 3.13 3.13t 3.14 3.14t 3.15 3.15t pypy3.11'
164158 manylinux : musllinux_1_2
165159 sccache : ${{ github.ref_type != 'tag' }} # zizmor: ignore[cache-poisoning]
166160 - name : Upload wheels
@@ -187,18 +181,18 @@ jobs:
187181 - uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
188182 with :
189183 python-version : |
190- 3.10
191184 3.11
192185 3.12
193186 3.13
194187 3.14
188+ 3.15
195189 allow-prereleases : true
196190 architecture : ${{ matrix.target }}
197191 - name : Build wheels
198192 uses : PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
199193 with :
200194 target : ${{ matrix.target }}
201- args : --release --out dist --interpreter '3.10 3. 11 3.12 3.13 3.14'
195+ args : --release --out dist --interpreter '3.11 3.12 3.13 3.14 3.15 '
202196 sccache : ${{ github.ref_type != 'tag' }} # zizmor: ignore[cache-poisoning]
203197 - name : Upload wheels
204198 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
@@ -247,11 +241,17 @@ jobs:
247241 python-version : " 3.14"
248242 allow-prereleases : true
249243 architecture : arm64
244+ - uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
245+ id : cp315
246+ with :
247+ python-version : " 3.15"
248+ allow-prereleases : true
249+ architecture : arm64
250250 - name : Build wheels
251251 uses : PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
252252 with :
253253 target : ${{ matrix.target }}
254- args : --release --out dist --interpreter ${{ steps.cp311.outputs.python-path }} ${{ steps.cp312.outputs.python-path }} ${{ steps.cp313.outputs.python-path }} ${{ steps.cp314.outputs.python-path }}
254+ args : --release --out dist --interpreter ${{ steps.cp311.outputs.python-path }} ${{ steps.cp312.outputs.python-path }} ${{ steps.cp313.outputs.python-path }} ${{ steps.cp314.outputs.python-path }} ${{ steps.cp315.outputs.python-path }}
255255 sccache : ${{ github.ref_type != 'tag' }} # zizmor: ignore[cache-poisoning]
256256 - name : Upload wheels
257257 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
@@ -281,13 +281,14 @@ jobs:
281281 python-version : |
282282 3.13t
283283 3.14t
284+ 3.15t
284285 allow-prereleases : true
285286 architecture : ${{ matrix.target }}
286287 - name : Build wheels
287288 uses : PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
288289 with :
289290 target : ${{ matrix.target }}
290- args : --release --out dist --interpreter '3.13t 3.14t'
291+ args : --release --out dist --interpreter '3.13t 3.14t 3.15t '
291292 sccache : ${{ github.ref_type != 'tag' }} # zizmor: ignore[cache-poisoning]
292293 - name : Upload wheels
293294 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
@@ -313,20 +314,21 @@ jobs:
313314 - uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
314315 with :
315316 python-version : |
316- 3.10
317317 3.11
318318 3.12
319319 3.13
320320 3.13t
321321 3.14
322322 3.14t
323+ 3.15
324+ 3.15t
323325 pypy3.11
324326 allow-prereleases : true
325327 - name : Build wheels
326328 uses : PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
327329 with :
328330 target : ${{ matrix.target }}
329- args : --release --out dist --interpreter '3.10 3. 11 3.12 3.13 3.13t 3.14 3.14t pypy3.11'
331+ args : --release --out dist --interpreter '3.11 3.12 3.13 3.13t 3.14 3.14t 3.15 3.15t pypy3.11'
330332 sccache : ${{ github.ref_type != 'tag' }} # zizmor: ignore[cache-poisoning]
331333 - name : Upload wheels
332334 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
0 commit comments