88 branches :
99 - main
1010
11-
12-
1311# Cancel running workflows for updated PRs
1412# https://turso.tech/blog/simple-trick-to-save-environment-and-money-when-using-github-actions
1513concurrency :
@@ -26,7 +24,6 @@ concurrency:
2624# enforces that test run just once per OS / floatX setting.
2725
2826jobs :
29-
3027 changes :
3128 name : " Check for changes"
3229 runs-on : ubuntu-latest
5653 if : ${{ needs.changes.outputs.changes == 'true' }}
5754 strategy :
5855 matrix :
59- os : [ubuntu-latest]
60- floatx : [float64]
56+ linker : [c, numba]
6157 python-version : ["3.13"]
6258 test-subset :
6359 - |
@@ -145,10 +141,10 @@ jobs:
145141 tests/dims/test_model.py
146142
147143 fail-fast : false
148- runs-on : ${{ matrix.os }}
144+ runs-on : ubuntu-latest
149145 env :
150146 TEST_SUBSET : ${{ matrix.test-subset }}
151- PYTENSOR_FLAGS : floatX =${{ matrix.floatx }}
147+ PYTENSOR_FLAGS : linker =${{ matrix.linker }}
152148 defaults :
153149 run :
154150 shell : bash -leo pipefail {0}
@@ -175,18 +171,17 @@ jobs:
175171 - name : Upload coverage to Codecov
176172 uses : codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
177173 with :
178- token : ${{ secrets.CODECOV_TOKEN }} # use token for more robust uploads
174+ token : ${{ secrets.CODECOV_TOKEN }}
179175 env_vars : TEST_SUBSET
180- name : ${{ matrix.os }} ${{ matrix.floatx }}
176+ name : Ubuntu py ${{ matrix.python-version }} linker= ${{ matrix.linker }}
181177 fail_ci_if_error : false
182178
183179 windows :
184180 needs : changes
185181 if : ${{ needs.changes.outputs.changes == 'true' }}
186182 strategy :
187183 matrix :
188- os : [windows-latest]
189- floatx : [float64]
184+ linker : [c, numba]
190185 python-version : ["3.11"]
191186 test-subset :
192187 - tests/variational/test_approximations.py tests/variational/test_callbacks.py tests/variational/test_inference.py tests/variational/test_opvi.py tests/test_initial_point.py
@@ -195,10 +190,10 @@ jobs:
195190 - tests/step_methods/test_metropolis.py tests/step_methods/test_slicer.py tests/step_methods/hmc/test_nuts.py tests/step_methods/test_compound.py tests/step_methods/hmc/test_hmc.py tests/step_methods/test_state.py
196191
197192 fail-fast : false
198- runs-on : ${{ matrix.os }}
193+ runs-on : windows-latest
199194 env :
200195 TEST_SUBSET : ${{ matrix.test-subset }}
201- PYTENSOR_FLAGS : floatX =${{ matrix.floatx }}
196+ PYTENSOR_FLAGS : linker =${{ matrix.linker }}
202197 defaults :
203198 run :
204199 shell : bash -leo pipefail {0}
@@ -225,18 +220,17 @@ jobs:
225220 - name : Upload coverage to Codecov
226221 uses : codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
227222 with :
228- token : ${{ secrets.CODECOV_TOKEN }} # use token for more robust uploads
223+ token : ${{ secrets.CODECOV_TOKEN }}
229224 env_vars : TEST_SUBSET
230- name : ${{ matrix.os }} ${{ matrix.floatx }}
225+ name : Windows py ${{ python-version }} linker= ${{ matrix.linker }}
231226 fail_ci_if_error : false
232227
233228 macos :
234229 needs : changes
235230 if : ${{ needs.changes.outputs.changes == 'true' }}
236231 strategy :
237232 matrix :
238- os : [macos-latest]
239- floatx : [float64]
233+ linker : [c, numba]
240234 python-version : ["3.13"]
241235 test-subset :
242236 - |
@@ -253,10 +247,10 @@ jobs:
253247 tests/backends/test_zarr.py
254248 tests/variational/test_updates.py
255249 fail-fast : false
256- runs-on : ${{ matrix.os }}
250+ runs-on : macos-latest
257251 env :
258252 TEST_SUBSET : ${{ matrix.test-subset }}
259- PYTENSOR_FLAGS : floatX =${{ matrix.floatx }}
253+ PYTENSOR_FLAGS : linker =${{ matrix.linker }}
260254 defaults :
261255 run :
262256 shell : bash -leo pipefail {0}
@@ -285,16 +279,15 @@ jobs:
285279 with :
286280 token : ${{ secrets.CODECOV_TOKEN }} # use token for more robust uploads
287281 env_vars : TEST_SUBSET
288- name : ${{ matrix.os }} ${{ matrix.floatx }}
282+ name : MacOS py ${{ python-version }} linker= ${{ matrix.linker }}
289283 fail_ci_if_error : false
290284
291285 alternative_backends :
292286 needs : changes
293287 if : ${{ needs.changes.outputs.changes == 'true' }}
294288 strategy :
295289 matrix :
296- os : [ubuntu-latest]
297- floatx : [float64]
290+ linker : [c, numba]
298291 python-version : ["3.13"]
299292 test-subset :
300293 - |
@@ -303,10 +296,10 @@ jobs:
303296 tests/sampling/test_mcmc_external.py
304297
305298 fail-fast : false
306- runs-on : ${{ matrix.os }}
299+ runs-on : ubuntu-latest
307300 env :
308301 TEST_SUBSET : ${{ matrix.test-subset }}
309- PYTENSOR_FLAGS : floatX =${{ matrix.floatx }}
302+ PYTENSOR_FLAGS : linker =${{ matrix.linker }}
310303 defaults :
311304 run :
312305 shell : bash -leo pipefail {0}
@@ -335,24 +328,24 @@ jobs:
335328 with :
336329 token : ${{ secrets.CODECOV_TOKEN }} # use token for more robust uploads
337330 env_vars : TEST_SUBSET
338- name : Alternative backend tests - ${{ matrix.os }} ${{ matrix.floatx }}
331+ name : Alternative backends py ${{ python-version }} linker= ${{ matrix.linker }}
339332 fail_ci_if_error : false
340333
341334 float32 :
342335 needs : changes
343336 if : ${{ needs.changes.outputs.changes == 'true' }}
344337 strategy :
345338 matrix :
339+ linker : [c, numba]
346340 os : [windows-latest]
347- floatx : [float32]
348341 python-version : ["3.13"]
349342 test-subset :
350- - tests/sampling/test_mcmc.py tests/ode/test_ode.py tests/ode/test_utils.py tests/distributions/test_transform.py
343+ - tests/sampling/test_mcmc.py tests/ode/test_ode.py tests/ode/test_utils.py tests/distributions/test_transform.py
351344 fail-fast : false
352345 runs-on : ${{ matrix.os }}
353346 env :
354347 TEST_SUBSET : ${{ matrix.test-subset }}
355- PYTENSOR_FLAGS : floatX=${{ matrix.floatx }}
348+ PYTENSOR_FLAGS : floatX=float32
356349 defaults :
357350 run :
358351 shell : bash -leo pipefail {0}
@@ -381,19 +374,19 @@ jobs:
381374 with :
382375 token : ${{ secrets.CODECOV_TOKEN }} # use token for more robust uploads
383376 env_vars : TEST_SUBSET
384- name : ${{ matrix.os }} ${{ matrix.floatx }}
377+ name : float32 ${{ matrix.os }} py ${{ matrix.python-version }} linker=${{ matrix.linker }}
385378 fail_ci_if_error : false
386379
387380 all_tests :
388381 if : ${{ always() }}
389382 runs-on : ubuntu-latest
390- needs : [ changes, ubuntu, windows, macos, alternative_backends, float32 ]
383+ needs : [changes, ubuntu, windows, macos, alternative_backends, float32]
391384 steps :
392385 - name : Check build matrix status
393386 if : ${{ needs.changes.outputs.changes == 'true' &&
394- ( needs.ubuntu.result != 'success' ||
395- needs.windows.result != 'success' ||
396- needs.macos.result != 'success' ||
397- needs.alternative_backends.result != 'success' ||
398- needs.float32.result != 'success' ) }}
387+ ( needs.ubuntu.result != 'success' ||
388+ needs.windows.result != 'success' ||
389+ needs.macos.result != 'success' ||
390+ needs.alternative_backends.result != 'success' ||
391+ needs.float32.result != 'success' ) }}
399392 run : exit 1
0 commit comments