@@ -110,25 +110,30 @@ jobs:
110110
111111 macos-arm64 :
112112 runs-on : macos-latest
113+ strategy :
114+ matrix :
115+ platform :
116+ - {pyver: '3.11', abi: abi3}
117+ - {pyver: 3.15t, abi: abi3t}
113118 steps :
114119 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
115120 with :
116121 persist-credentials : false
117122 - uses : astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
118123 with :
119- python-version : ' 3.11 '
124+ python-version : ${{ matrix.platform.pyver }}
120125 enable-cache : false
121126 - id : discovery
122127 run : |
123128 uv python install
124- interpreter="$(uv python find 3.11 )"
129+ interpreter="$(uv python find ${{ matrix.platform.pyver }} )"
125130 echo "interpreter=$interpreter" >> $GITHUB_OUTPUT
126131 - run : rustup update
127132 - name : Build wheels - arm64
128133 uses : PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
129134 with :
130135 target : aarch64-apple-darwin
131- args : --release --out dist -F pyo3/abi3 -i ${{ steps.discovery.outputs.interpreter }}
136+ args : --release --out dist -F pyo3/${{ matrix.platform.abi }} -i ${{ steps.discovery.outputs.interpreter }}
132137 - name : Test wheel
133138 run : |
134139 uv sync --only-group test
@@ -145,6 +150,9 @@ jobs:
145150 runs-on : windows-latest
146151 strategy :
147152 matrix :
153+ platform :
154+ - {pyver: '3.11', abi: abi3}
155+ - {pyver: 3.15t, abi: abi3t}
148156 target :
149157 - x86
150158 - x64
@@ -154,7 +162,7 @@ jobs:
154162 persist-credentials : false
155163 - uses : actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
156164 with :
157- python-version : ' 3.11 '
165+ python-version : ${{ matrix.platform.pyver }}
158166 architecture : ${{ matrix.target }}
159167 - uses : astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
160168 with :
@@ -164,14 +172,14 @@ jobs:
164172 echo "UV_PYTHON_PREFERENCE=only-system" >> $env:GITHUB_ENV
165173 - id : discovery
166174 run : |
167- $interpreter="$(uv python find 3.11 )"
175+ $interpreter="$(uv python find ${{ matrix.platform.pyver }} )"
168176 echo "interpreter=$interpreter" >> $env:GITHUB_OUTPUT
169177 - run : rustup update
170178 - name : Build wheels
171179 uses : PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
172180 with :
173181 target : ${{ matrix.target }}
174- args : --release --out dist --no-default-features -F pyo3/abi3 -F fma -i ${{ steps.discovery.outputs.interpreter }}
182+ args : --release --out dist --no-default-features -F pyo3/${{ matrix.platform.abi }} -F fma -i ${{ steps.discovery.outputs.interpreter }}
175183 - name : Test wheel
176184 run : |
177185 uv sync --only-group test
@@ -188,13 +196,18 @@ jobs:
188196 # this job is separate because it requires a dedicated runner
189197 name : windows (arm64)
190198 runs-on : windows-11-arm
199+ strategy :
200+ matrix :
201+ platform :
202+ - {pyver: '3.11', abi: abi3}
203+ - {pyver: 3.15t, abi: abi3t}
191204 steps :
192205 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
193206 with :
194207 persist-credentials : false
195208 - uses : actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
196209 with :
197- python-version : ' 3.11 '
210+ python-version : ${{ matrix.platform.pyver }}
198211 architecture : arm64
199212 - uses : astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
200213 with :
@@ -204,14 +217,14 @@ jobs:
204217 echo "UV_PYTHON_PREFERENCE=only-system" >> $env:GITHUB_ENV
205218 - id : discovery
206219 run : |
207- $interpreter="$(uv python find 3.11 )"
220+ $interpreter="$(uv python find ${{ matrix.platform.pyver }} )"
208221 echo "interpreter=$interpreter" >> $env:GITHUB_OUTPUT
209222 - run : rustup update
210223 - name : Build wheels
211224 uses : PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
212225 with :
213226 target : aarch64-pc-windows-msvc
214- args : --release --out dist -F pyo3/abi3 -i ${{ steps.discovery.outputs.interpreter }}
227+ args : --release --out dist -F pyo3/${{ matrix.platform.abi }} -i ${{ steps.discovery.outputs.interpreter }}
215228 - name : Test wheel
216229 run : |
217230 uv sync --only-group test
@@ -229,6 +242,9 @@ jobs:
229242 strategy :
230243 fail-fast : false
231244 matrix :
245+ platform :
246+ - {pyver: '3.11', abi: abi3}
247+ - {pyver: 3.15t, abi: abi3t}
232248 target :
233249 - x86_64
234250 - aarch64
@@ -238,7 +254,7 @@ jobs:
238254 persist-credentials : false
239255 - uses : actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
240256 with :
241- python-version : ' 3.11 '
257+ python-version : ${{ matrix.platform.pyver }}
242258 architecture : x64
243259 - uses : astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
244260 with :
@@ -251,7 +267,7 @@ jobs:
251267 with :
252268 target : ${{ matrix.target }}
253269 manylinux : ' 2_28'
254- args : --release --out dist --no-default-features -F pyo3/abi3 -F fma ${{ startsWith( matrix.target , 'aarch64' ) && '-F branchless' || '' }} -i python3.11
270+ args : --release --out dist --no-default-features -F pyo3/${{ matrix.platform.abi }} -F fma ${{ startsWith( matrix.target , 'aarch64' ) && '-F branchless' || '' }} -i python3.11
255271 - name : Test wheel
256272 if : matrix.target == 'x86_64'
257273 run : |
@@ -271,6 +287,9 @@ jobs:
271287 strategy :
272288 fail-fast : false
273289 matrix :
290+ platform :
291+ - {pyver: '3.11', abi: abi3}
292+ - {pyver: 3.15t, abi: abi3t}
274293 target :
275294 - x86_64-unknown-linux-musl
276295 - aarch64-unknown-linux-musl
@@ -280,7 +299,7 @@ jobs:
280299 persist-credentials : false
281300 - uses : actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
282301 with :
283- python-version : ' 3.11 '
302+ python-version : ${{ matrix.platform.pyver }}
284303 architecture : x64
285304 - uses : astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
286305 with :
@@ -293,7 +312,7 @@ jobs:
293312 with :
294313 target : ${{ matrix.target }}
295314 manylinux : musllinux_1_2
296- args : --release --out dist --no-default-features -F pyo3/abi3 -F fma ${{ startsWith( matrix.target , 'aarch64' ) && '-F branchless' || '' }} -i python3.11
315+ args : --release --out dist --no-default-features -F pyo3/${{ matrix.platform.abi }} -F fma ${{ startsWith( matrix.target , 'aarch64' ) && '-F branchless' || '' }} -i python3.11
297316 - name : Upload wheels
298317 uses : actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
299318 with :
0 commit comments