|
5 | 5 | # - cron: "0 2 * * *" # at 02:00 UTC |
6 | 6 | # Allows you to run this workflow manually from the Actions tab |
7 | 7 | workflow_dispatch: |
| 8 | + push: |
| 9 | + branches: |
| 10 | + - test-2110 |
8 | 11 |
|
9 | 12 | jobs: |
10 | | - cron-gpu: |
11 | | - if: github.repository == 'Project-MONAI/MONAI' |
12 | | - container: |
13 | | - image: nvcr.io/nvidia/pytorch:20.03-py3 # CUDA 10.2 |
14 | | - options: "--gpus all" |
15 | | - runs-on: [self-hosted, linux, x64, common] |
16 | | - strategy: |
17 | | - matrix: |
18 | | - pytorch-version: [1.5.1, 1.6.0, 1.7.1, 1.8.1, latest] |
19 | | - steps: |
20 | | - - uses: actions/checkout@v2 |
21 | | - - name: Install the dependencies |
22 | | - run: | |
23 | | - which python |
24 | | - python -m pip install --upgrade pip wheel |
25 | | - python -m pip uninstall -y torch torchvision |
26 | | - if [ ${{ matrix.pytorch-version }} == "latest" ]; then |
27 | | - python -m pip install torch torchvision |
28 | | - elif [ ${{ matrix.pytorch-version }} == "1.5.1" ]; then |
29 | | - python -m pip install torch==1.5.1 torchvision==0.6.1 |
30 | | - elif [ ${{ matrix.pytorch-version }} == "1.6.0" ]; then |
31 | | - python -m pip install torch==1.6.0 torchvision==0.7.0 |
32 | | - elif [ ${{ matrix.pytorch-version }} == "1.7.1" ]; then |
33 | | - python -m pip install torch==1.7.1 torchvision==0.8.2 |
34 | | - elif [ ${{ matrix.pytorch-version }} == "1.8.1" ]; then |
35 | | - python -m pip install torch==1.8.1 torchvision==0.9.1 |
36 | | - fi |
37 | | - python -m pip install -r requirements-dev.txt |
38 | | - python -m pip list |
39 | | - - name: Run tests report coverage |
40 | | - run: | |
41 | | - export LAUNCH_DELAY=$[ $RANDOM % 16 * 60 ] |
42 | | - echo "Sleep $LAUNCH_DELAY" |
43 | | - sleep $LAUNCH_DELAY |
44 | | - nvidia-smi |
45 | | - export CUDA_VISIBLE_DEVICES=$(python -m tests.utils) |
46 | | - echo $CUDA_VISIBLE_DEVICES |
47 | | - trap 'if pgrep python; then pkill python; fi;' ERR |
48 | | - python -c $'import torch\na,b=torch.zeros(1,device="cuda:0"),torch.zeros(1,device="cuda:1");\nwhile True:print(a,b)' > /dev/null & |
49 | | - python -c "import torch; print(torch.__version__); print('{} of GPUs available'.format(torch.cuda.device_count()))" |
50 | | - python -c 'import torch; print(torch.rand(5, 3, device=torch.device("cuda:0")))' |
51 | | - BUILD_MONAI=1 ./runtests.sh --coverage --unittests # unit tests with coverage report |
52 | | - BUILD_MONAI=1 ./runtests.sh --coverage --net # integration tests with coverage report |
53 | | - coverage xml |
54 | | - if pgrep python; then pkill python; fi |
55 | | - - name: Upload coverage |
56 | | - uses: codecov/codecov-action@v1 |
57 | | - with: |
58 | | - fail_ci_if_error: false |
59 | | - file: ./coverage.xml |
60 | | - |
61 | 13 | cron-pt-image: |
62 | 14 | if: github.repository == 'Project-MONAI/MONAI' |
63 | 15 | strategy: |
64 | 16 | matrix: |
65 | | - container: ["pytorch:21.02", "pytorch:21.10"] # 21.02 for backward comp. |
| 17 | + container: ["pytorch:21.10"] # 21.02 for backward comp. |
66 | 18 | container: |
67 | 19 | image: nvcr.io/nvidia/${{ matrix.container }}-py3 # testing with the latest pytorch base image |
68 | 20 | options: "--gpus all" |
|
106 | 58 | if: github.repository == 'Project-MONAI/MONAI' |
107 | 59 | strategy: |
108 | 60 | matrix: |
109 | | - container: ["pytorch:21.02", "pytorch:21.10"] # 21.02 for backward comp. |
| 61 | + container: ["pytorch:21.10"] # 21.02 for backward comp. |
110 | 62 | container: |
111 | 63 | image: nvcr.io/nvidia/${{ matrix.container }}-py3 # testing with the latest pytorch base image |
112 | 64 | options: "--gpus all" |
@@ -170,41 +122,10 @@ jobs: |
170 | 122 | PYTHONPATH="$tmp_dir":$PYTHONPATH BUILD_MONAI=1 python ./tests/runner.py -p 'test_((?!integration).)' # unit tests |
171 | 123 | if pgrep python; then pkill python; fi |
172 | 124 |
|
173 | | - cron-docker: |
174 | | - if: github.repository == 'Project-MONAI/MONAI' |
175 | | - container: |
176 | | - image: docker://projectmonai/monai:latest # this might be slow and has the pull count limitations |
177 | | - options: "--gpus all" |
178 | | - runs-on: [self-hosted, linux, x64, common] |
179 | | - steps: |
180 | | - - name: Run tests report coverage |
181 | | - # The docker image process has done the compilation. |
182 | | - # BUILD_MONAI=1 is necessary for triggering the USE_COMPILED flag. |
183 | | - run: | |
184 | | - cd /opt/monai |
185 | | - nvidia-smi |
186 | | - export CUDA_VISIBLE_DEVICES=$(python -m tests.utils) |
187 | | - echo $CUDA_VISIBLE_DEVICES |
188 | | - trap 'if pgrep python; then pkill python; fi;' ERR |
189 | | - python -c $'import torch\na,b=torch.zeros(1,device="cuda:0"),torch.zeros(1,device="cuda:1");\nwhile True:print(a,b)' > /dev/null & |
190 | | - python -c "import torch; print(torch.__version__); print('{} of GPUs available'.format(torch.cuda.device_count()))" |
191 | | - python -c 'import torch; print(torch.rand(5,3, device=torch.device("cuda:0")))' |
192 | | - ngc --version |
193 | | - BUILD_MONAI=1 ./runtests.sh --coverage --pytype --unittests # unit tests with pytype checks, coverage report |
194 | | - BUILD_MONAI=1 ./runtests.sh --coverage --net # integration tests with coverage report |
195 | | - coverage xml |
196 | | - if pgrep python; then pkill python; fi |
197 | | - - name: Upload coverage |
198 | | - uses: codecov/codecov-action@v1 |
199 | | - with: |
200 | | - fail_ci_if_error: false |
201 | | - file: ./coverage.xml |
202 | | - |
203 | 125 | cron-tutorial-notebooks: |
204 | 126 | if: github.repository == 'Project-MONAI/MONAI' |
205 | | - needs: cron-gpu # so that monai itself is verified first |
206 | 127 | container: |
207 | | - image: nvcr.io/nvidia/pytorch:21.09-py3 # testing with the latest pytorch base image |
| 128 | + image: nvcr.io/nvidia/pytorch:21.10-py3 # testing with the latest pytorch base image |
208 | 129 | options: "--gpus all --ipc=host" |
209 | 130 | runs-on: [self-hosted, linux, x64, common] |
210 | 131 | steps: |
|
0 commit comments