4444 - uses : actions/checkout@v4
4545 - uses : astral-sh/setup-uv@v6
4646 with :
47- version : " 0.6.3"
4847 enable-cache : true
4948 cache-dependency-glob : " cluster_tools/uv.lock"
5049 - run : uv python install ${{ matrix.python-version }}
@@ -104,7 +103,6 @@ jobs:
104103 - name : Install uv
105104 uses : astral-sh/setup-uv@v6
106105 with :
107- version : " 0.6.3"
108106 enable-cache : true
109107 cache-dependency-glob : " cluster_tools/uv.lock"
110108 - name : Set up Python ${{ matrix.python-version }}
@@ -142,7 +140,6 @@ jobs:
142140 - name : Install uv
143141 uses : astral-sh/setup-uv@v6
144142 with :
145- version : " 0.6.3"
146143 enable-cache : true
147144 cache-dependency-glob : " cluster_tools/uv.lock"
148145 - name : Set up Python ${{ matrix.python-version }}
@@ -184,7 +181,6 @@ jobs:
184181 - name : Install uv
185182 uses : astral-sh/setup-uv@v6
186183 with :
187- version : " 0.6.3"
188184 enable-cache : true
189185 cache-dependency-glob : " cluster_tools/uv.lock"
190186 - name : Set up Python ${{ matrix.python-version }}
@@ -217,8 +213,6 @@ jobs:
217213 - name : Install uv
218214 uses : astral-sh/setup-uv@v3
219215 with :
220- # Install a specific version of uv.
221- version : " 0.5.26"
222216 enable-cache : true
223217 cache-dependency-glob : " webknossos/uv.lock"
224218
@@ -273,6 +267,88 @@ jobs:
273267 git diff --no-ext-diff --exit-code
274268 [[ -z $(git status -s) ]]
275269
270+ webknossos_windows :
271+ needs : changes
272+ if : |
273+ ${{ needs.changes.outputs.cluster_tools == 'true' }} ||
274+ ${{ needs.changes.outputs.webknossos == 'true' }}
275+ runs-on : windows-latest
276+ strategy :
277+ matrix :
278+ python-version : ["3.12"]
279+ group : [1, 2, 3]
280+ fail-fast : false
281+ defaults :
282+ run :
283+ working-directory : webknossos
284+
285+ steps :
286+ - uses : actions/checkout@v3
287+
288+ - name : Install uv
289+ uses : astral-sh/setup-uv@v3
290+ with :
291+ enable-cache : true
292+ cache-dependency-glob : " webknossos/uv.lock"
293+
294+ - name : Install proxay
295+ run : npm install -g proxay
296+
297+ - name : Install minio
298+ run : Invoke-WebRequest -Uri "https://dl.min.io/server/minio/release/windows-amd64/minio.exe" -OutFile "minio.exe"
299+
300+ - name : Set up Python ${{ matrix.python-version }}
301+ run : uv python install ${{ matrix.python-version }}
302+
303+ - name : Python tests
304+ timeout-minutes : 30
305+ shell : bash
306+ env :
307+ PYTHON_VERSION : ${{ matrix.python-version }}
308+ MULTIPROCESSING_DEFAULT_START_METHOD : spawn
309+ run : ./test.sh --splits 3 --group ${{ matrix.group }} --splitting-algorithm least_duration
310+
311+ webknossos_macos :
312+ needs : changes
313+ if : |
314+ ${{ needs.changes.outputs.cluster_tools == 'true' }} ||
315+ ${{ needs.changes.outputs.webknossos == 'true' }}
316+ runs-on : macos-latest
317+ strategy :
318+ matrix :
319+ python-version : ["3.12"]
320+ group : [1, 2, 3]
321+ fail-fast : false
322+ defaults :
323+ run :
324+ working-directory : webknossos
325+
326+ steps :
327+ - uses : actions/checkout@v3
328+
329+ - name : Install uv
330+ uses : astral-sh/setup-uv@v3
331+ with :
332+ enable-cache : true
333+ cache-dependency-glob : " webknossos/uv.lock"
334+
335+ - name : Install proxay
336+ run : npm install -g proxay
337+
338+ - name : Install minio
339+ run : brew install minio/stable/minio
340+
341+ - name : Set up Python ${{ matrix.python-version }}
342+ run : uv python install ${{ matrix.python-version }}
343+
344+ - name : Python tests
345+ timeout-minutes : 30
346+ shell : bash
347+ env :
348+ PYTHON_VERSION : ${{ matrix.python-version }}
349+ run : ./test.sh --splits 3 --group ${{ matrix.group }} --splitting-algorithm least_duration
350+
351+
276352 coverage_report :
277353 needs : [webknossos_linux]
278354 if : success()
@@ -316,6 +392,8 @@ jobs:
316392 - cluster_tools_kubernetes
317393 - cluster_tools_dask
318394 - webknossos_linux
395+ - webknossos_windows
396+ - webknossos_macos
319397 if : |
320398 always() &&
321399 !contains(needs.*.result, 'failure') &&
@@ -326,9 +404,6 @@ jobs:
326404 - uses : actions/checkout@v3
327405 - name : Install uv
328406 uses : astral-sh/setup-uv@v3
329- with :
330- # Install a specific version of uv.
331- version : " 0.6.3"
332407 - name : Write version file
333408 run : |
334409 pushd webknossos
@@ -393,6 +468,8 @@ jobs:
393468 - cluster_tools_kubernetes
394469 - cluster_tools_dask
395470 - webknossos_linux
471+ - webknossos_windows
472+ - webknossos_macos
396473 runs-on : ubuntu-latest
397474 if : |
398475 always() &&
@@ -408,9 +485,6 @@ jobs:
408485 path : docs/wk-repo
409486 - name : Install uv
410487 uses : astral-sh/setup-uv@v3
411- with :
412- # Install a specific version of uv.
413- version : " 0.6.3"
414488 - name : Build Docs
415489 run : |
416490 cd docs
@@ -454,6 +528,8 @@ jobs:
454528 - cluster_tools_kubernetes
455529 - cluster_tools_dask
456530 - webknossos_linux
531+ - webknossos_windows
532+ - webknossos_macos
457533 if : |
458534 always() &&
459535 !contains(needs.*.result, 'failure') &&
@@ -465,9 +541,6 @@ jobs:
465541 - uses : actions/checkout@v3
466542 - name : Install uv
467543 uses : astral-sh/setup-uv@v3
468- with :
469- # Install a specific version of uv.
470- version : " 0.6.3"
471544 - name : Publish python packages
472545 env :
473546 UV_PUBLISH_TOKEN : ${{ secrets.PYPI_PASSWORD }}
@@ -490,16 +563,16 @@ jobs:
490563
491564 complete :
492565 needs :
493- [
494- cluster_tools_dask,
495- cluster_tools_kubernetes,
496- cluster_tools_multiprocessing,
497- cluster_tools_slurm,
498- webknossos_linux,
499- webknossos_cli_docker,
500- docs,
501- pypi_and_gh_release,
502- ]
566+ - cluster_tools_dask
567+ - cluster_tools_kubernetes
568+ - cluster_tools_multiprocessing
569+ - cluster_tools_slurm
570+ - webknossos_linux
571+ - webknossos_windows
572+ - webknossos_macos
573+ - webknossos_cli_docker
574+ - docs
575+ - pypi_and_gh_release
503576 if : always()
504577 runs-on : ubuntu-latest
505578 steps :
0 commit comments