-
Notifications
You must be signed in to change notification settings - Fork 65
Leaner CI matrix + test_io deadlock
#2139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
35 commits
Select commit
Hold shift + click to select a range
058765f
Refactor ci.yaml
ClaudiaComito 651829c
Create ci_full.yaml
ClaudiaComito 703bfec
Run ci_full on merge
ClaudiaComito db2cdde
Update ci_full triggers
ClaudiaComito cd51b71
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 3a5ab7c
Edits
ClaudiaComito 36acb75
Run ci.yaml on every commit (non-draft)
ClaudiaComito 0300428
exclude torch2.3 with python 3.14
ClaudiaComito cb56bc1
verbose tests
ClaudiaComito 0345ca7
Debugging
ClaudiaComito 04ed1b3
Debugging test_io
ClaudiaComito 95aadba
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 35c427b
Debugging test_io
ClaudiaComito 094c5b3
timeout options
ClaudiaComito 63842c9
debugging test_load_zarr_groups
ClaudiaComito fdf1c6b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] a8981d9
remove timeout
ClaudiaComito 7fffbb9
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 6dd1748
Remove -s option
ClaudiaComito 05495c4
exit at first failure
ClaudiaComito 9f32bda
debugging test_io.py
ClaudiaComito 4521f2a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 015bee8
remove print statements
ClaudiaComito bf00791
Remove debugging options
ClaudiaComito 8adf962
Update test_io.py
ClaudiaComito d0925f0
remove print statements
ClaudiaComito c6ea05e
Test exit 0
ClaudiaComito f0ab527
Apply suggestions from code review
ClaudiaComito 2eb2c08
Apply suggestions from code review
ClaudiaComito ae55418
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] d892328
fix: debugging ci
JuanPedroGHM 085f740
Initial plan
Copilot 96fbcc9
Add 2h timeout to CI jobs and fix test_io race condition
Copilot 118ed76
Merge pull request #2147 from helmholtz-analytics/copilot/sub-pr-2139
brownbaerchen 583c941
Apply suggestions from code review
brownbaerchen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
| @@ -1,55 +1,33 @@ | ||||
| name: ci | ||||
|
|
||||
| on: | ||||
| pull_request_review: | ||||
| types: [submitted] | ||||
| push: | ||||
| branches-ignore: | ||||
| - main | ||||
| - dependabot/** | ||||
|
|
||||
| jobs: | ||||
| approved: | ||||
| if: github.event.review.state == 'approved' | ||||
| if: github.event.pull_request.draft == false | ||||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||
| runs-on: ubuntu-latest | ||||
| timeout-minutes: 120 | ||||
| strategy: | ||||
| fail-fast: false | ||||
| matrix: | ||||
| py-version: | ||||
| - '3.10' | ||||
| - '3.11' | ||||
| - '3.12' | ||||
| - '3.13' | ||||
| - '3.14' | ||||
| - '3.10' # Oldest supported | ||||
| - '3.14' # Latest stable | ||||
| 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' | ||||
| - 'torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1' # Oldest supported | ||||
| - 'torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1' # JSC Stage 2026 | ||||
| - 'torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0' # Latest stable | ||||
| 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]' | ||||
|
|
||||
| - py-version: '3.14' | ||||
| pytorch-version: 'torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1' | ||||
|
|
||||
| name: Python ${{ matrix.py-version }} with ${{ matrix.pytorch-version }}; options ${{ matrix.install-options }} | ||||
| steps: | ||||
|
|
@@ -60,18 +38,22 @@ jobs: | |||
|
|
||||
| - name: Checkout | ||||
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | ||||
|
|
||||
| - 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/ | ||||
| # use pytest -vv -x for debugging | ||||
| pytest heat/ | ||||
| mpirun -n 4 pytest -vv heat/ | ||||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,85 @@ | ||
| name: ci_full | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
|
ClaudiaComito marked this conversation as resolved.
|
||
| - stable | ||
| paths: | ||
| - 'heat/**' | ||
| - 'pyproject.toml' | ||
| - '.github/workflows/ci_full.yaml' | ||
|
|
||
| jobs: | ||
| full_matrix_test: | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 120 | ||
| 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@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2 | ||
| with: | ||
| egress-policy: audit | ||
|
|
||
| - name: Checkout | ||
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | ||
|
|
||
| - 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/ | ||
|
brownbaerchen marked this conversation as resolved.
|
||
| mpirun -n 4 pytest heat/ | ||
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
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would we not want to know if a draft PR fails the CI? Why is it a draft, maybe exactly because we know it fails. #2137 is an example of a draft PR where I want the CI to run.