Implement automated release workflow with scheduled GitHub Actions and issue templates #1722
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci | |
| on: | |
| pull_request_review: | |
| types: [submitted] | |
| jobs: | |
| approved: | |
| if: github.event.review.state == 'approved' | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| py-version: | |
| - '3.10' | |
| - '3.11' | |
| - '3.12' | |
| - '3.13' | |
| - '3.14' | |
| mpi: [ 'openmpi' ] | |
| install-options: [ '.', '.[hdf5,netcdf,pandas,zarr]' ] | |
| pytorch-version: | |
| - 'torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1' | |
| - 'torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1' | |
| - 'torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1' | |
| - 'torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0' | |
| - 'torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1' | |
| - 'torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0' | |
| - 'torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1' | |
| - 'torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0' | |
| exclude: | |
| - py-version: '3.14' | |
| pytorch-version: 'torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1' | |
| - py-version: '3.14' | |
| pytorch-version: 'torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1' | |
| - py-version: '3.14' | |
| pytorch-version: 'torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1' | |
| - py-version: '3.14' | |
| pytorch-version: 'torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0' | |
| - py-version: '3.14' | |
| pytorch-version: 'torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1' | |
| - py-version: '3.14' | |
| pytorch-version: 'torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0' | |
| - py-version: '3.13' | |
| pytorch-version: 'torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1' | |
| - py-version: '3.13' | |
| pytorch-version: 'torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1' | |
| - py-version: '3.13' | |
| pytorch-version: 'torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1' | |
| - py-version: '3.10' | |
| install-options: '.[hdf5,netcdf,pandas,zarr]' | |
| name: Python ${{ matrix.py-version }} with ${{ matrix.pytorch-version }}; options ${{ matrix.install-options }} | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 | |
| with: | |
| egress-policy: audit | |
| - name: Checkout | |
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - name: Setup MPI | |
| uses: mpi4py/setup-mpi@3969f247e8fceef153418744f9d9ee6fdaeda29f # v1.2.0 | |
| with: | |
| mpi: ${{ matrix.mpi }} | |
| - name: Use Python ${{ matrix.py-version }} | |
| uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 | |
| with: | |
| python-version: ${{ matrix.py-version }} | |
| architecture: x64 | |
| - name: Test | |
| run: | | |
| pip install pytest | |
| pip install ${{ matrix.pytorch-version }} ${{ matrix.install-options }} --extra-index-url https://download.pytorch.org/whl/cpu | |
| mpirun -n 3 pytest heat/ | |
| mpirun -n 4 pytest heat/ |