11name : ci
22
33on :
4- pull_request_review :
5- types : [submitted]
4+ push :
5+ branches-ignore :
6+ - main
7+ - dependabot/**
68
79jobs :
810 approved :
9- if : github.event.review.state == 'approved'
11+ if : github.event.pull_request.draft == false
1012 runs-on : ubuntu-latest
13+ timeout-minutes : 120
1114 strategy :
1215 fail-fast : false
1316 matrix :
1417 py-version :
15- - ' 3.10'
16- - ' 3.11'
17- - ' 3.12'
18- - ' 3.13'
19- - ' 3.14'
18+ - ' 3.10' # Oldest supported
19+ - ' 3.14' # Latest stable
2020 mpi : [ 'openmpi' ]
2121 install-options : [ '.', '.[hdf5,netcdf,pandas,zarr]' ]
2222 pytorch-version :
23- - ' torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1'
24- - ' torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1'
25- - ' torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1'
26- - ' torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0'
27- - ' torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1'
28- - ' torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0'
29- - ' torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1'
30- - ' torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0'
23+ - ' torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1' # Oldest supported
24+ - ' torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1' # JSC Stage 2026
25+ - ' torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0' # Latest stable
3126 exclude :
32- - py-version : ' 3.14'
33- pytorch-version : ' torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1'
34- - py-version : ' 3.14'
35- pytorch-version : ' torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1'
36- - py-version : ' 3.14'
37- pytorch-version : ' torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1'
38- - py-version : ' 3.14'
39- pytorch-version : ' torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0'
40- - py-version : ' 3.14'
41- pytorch-version : ' torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1'
42- - py-version : ' 3.14'
43- pytorch-version : ' torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0'
44- - py-version : ' 3.13'
45- pytorch-version : ' torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1'
46- - py-version : ' 3.13'
47- pytorch-version : ' torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1'
48- - py-version : ' 3.13'
49- pytorch-version : ' torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1'
5027 - py-version : ' 3.10'
5128 install-options : ' .[hdf5,netcdf,pandas,zarr]'
52-
29+ - py-version : ' 3.14'
30+ pytorch-version : ' torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1'
5331
5432 name : Python ${{ matrix.py-version }} with ${{ matrix.pytorch-version }}; options ${{ matrix.install-options }}
5533 steps :
@@ -60,18 +38,22 @@ jobs:
6038
6139 - name : Checkout
6240 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
41+
6342 - name : Setup MPI
6443 uses : mpi4py/setup-mpi@3969f247e8fceef153418744f9d9ee6fdaeda29f # v1.2.0
6544 with :
6645 mpi : ${{ matrix.mpi }}
46+
6747 - name : Use Python ${{ matrix.py-version }}
6848 uses : actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
6949 with :
7050 python-version : ${{ matrix.py-version }}
7151 architecture : x64
52+
7253 - name : Test
7354 run : |
7455 pip install pytest
7556 pip install ${{ matrix.pytorch-version }} ${{ matrix.install-options }} --extra-index-url https://download.pytorch.org/whl/cpu
76- mpirun -n 3 pytest heat/
77- mpirun -n 4 pytest heat/
57+ # use pytest -vv -x for debugging
58+ pytest heat/
59+ mpirun -n 4 pytest -vv heat/
0 commit comments