1
- name : crons
1
+ # nightly: Jenkinsfile.monai-pytorch-versions, monai-latest-image, monai-pip, monai-latest-docker, monai-notebooks
2
+ name : nightly-crons
2
3
3
4
on :
4
5
# schedule:
9
10
jobs :
10
11
cron-gpu :
11
12
if : github.repository == 'Project-MONAI/MONAI'
13
+ strategy :
14
+ matrix :
15
+ environment :
16
+ - " PT182+CUDA102"
17
+ - " PT191+CUDA113"
18
+ - " PT110+CUDA113"
19
+ - " PT112+CUDA113"
20
+ - " PTLATEST+CUDA117"
21
+ include :
22
+ # https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes
23
+ - environment : PT182+CUDA102
24
+ pytorch : " torch==1.8.2 torchvision==0.9.2 --extra-index-url https://download.pytorch.org/whl/lts/1.8/cu102"
25
+ base : " nvcr.io/nvidia/cuda:10.2-devel-ubuntu18.04"
26
+ - environment : PT191+CUDA113
27
+ pytorch : " torch==1.9.1 torchvision==0.10.1 --extra-index-url https://download.pytorch.org/whl/cu113"
28
+ base : " nvcr.io/nvidia/pytorch:21.06-py3" # CUDA 11.3
29
+ - environment : PT110+CUDA113
30
+ pytorch : " torch==1.10.2 torchvision==0.11.3 --extra-index-url https://download.pytorch.org/whl/cu113"
31
+ base : " nvcr.io/nvidia/pytorch:21.06-py3" # CUDA 11.3
32
+ - environment : PT112+CUDA113
33
+ pytorch : " torch==1.12.1 torchvision==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu113"
34
+ base : " nvcr.io/nvidia/pytorch:21.06-py3" # CUDA 11.3
35
+ - environment : PTLATEST+CUDA117
36
+ pytorch : " -U torch torchvision --extra-index-url https://download.pytorch.org/whl/cu117"
37
+ base : " nvcr.io/nvidia/pytorch:22.08-py3" # CUDA 11.7
12
38
container :
13
- image : nvcr.io/nvidia/pytorch:21.06-py3 # CUDA 11.3
39
+ image : ${{ matrix.base }}
14
40
options : " --gpus all"
15
41
runs-on : [self-hosted, linux, x64, common]
16
- strategy :
17
- matrix :
18
- pytorch-version : [1.7.1, 1.8.1, 1.9.1, 1.10.2, latest]
19
42
steps :
20
43
- uses : actions/checkout@v3
44
+ - name : apt install
45
+ run : |
46
+ # FIXME: workaround for https://github.com/Project-MONAI/MONAI/issues/4200
47
+ apt-key del 7fa2af80 && rm -rf /etc/apt/sources.list.d/nvidia-ml.list /etc/apt/sources.list.d/cuda.list
48
+ apt-get update
49
+ apt-get install -y wget
50
+ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-keyring_1.0-1_all.deb
51
+ dpkg -i cuda-keyring_1.0-1_all.deb
52
+
53
+ if [ ${{ matrix.environment }} = "PT182+CUDA102" ]
54
+ then
55
+ PYVER=3.7 PYSFX=3 DISTUTILS=python3-distutils && \
56
+ apt-get update && apt-get install -y --no-install-recommends \
57
+ curl \
58
+ pkg-config \
59
+ python$PYVER \
60
+ python$PYVER-dev \
61
+ python$PYSFX-pip \
62
+ $DISTUTILS \
63
+ rsync \
64
+ swig \
65
+ unzip \
66
+ zip \
67
+ zlib1g-dev \
68
+ libboost-locale-dev \
69
+ libboost-program-options-dev \
70
+ libboost-system-dev \
71
+ libboost-thread-dev \
72
+ libboost-test-dev \
73
+ libgoogle-glog-dev \
74
+ libjsoncpp-dev \
75
+ cmake \
76
+ git && \
77
+ rm -rf /var/lib/apt/lists/* && \
78
+ export PYTHONIOENCODING=utf-8 LC_ALL=C.UTF-8 && \
79
+ rm -f /usr/bin/python && \
80
+ rm -f /usr/bin/python`echo $PYVER | cut -c1-1` && \
81
+ ln -s /usr/bin/python$PYVER /usr/bin/python && \
82
+ ln -s /usr/bin/python$PYVER /usr/bin/python`echo $PYVER | cut -c1-1` &&
83
+ curl -O https://bootstrap.pypa.io/get-pip.py && \
84
+ python get-pip.py && \
85
+ rm get-pip.py;
86
+ fi
21
87
- name : Install the dependencies
22
88
run : |
23
89
which python
24
90
python -m pip install --upgrade pip wheel
25
91
python -m pip uninstall -y torch torchvision
26
- if [ ${{ matrix.pytorch-version }} == "latest" ]; then
27
- python -m pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu113
28
- elif [ ${{ matrix.pytorch-version }} == "1.7.1" ]; then
29
- python -m pip install torch==1.7.1 torchvision==0.8.2 --extra-index-url https://download.pytorch.org/whl/cu113
30
- elif [ ${{ matrix.pytorch-version }} == "1.8.1" ]; then
31
- python -m pip install torch==1.8.1 torchvision==0.9.1 --extra-index-url https://download.pytorch.org/whl/cu113
32
- elif [ ${{ matrix.pytorch-version }} == "1.9.1" ]; then
33
- python -m pip install torch==1.9.1 torchvision==0.10.1 --extra-index-url https://download.pytorch.org/whl/cu113
34
- elif [ ${{ matrix.pytorch-version }} == "1.10.2" ]; then
35
- python -m pip install torch==1.10.2 torchvision==0.11.3 --extra-index-url https://download.pytorch.org/whl/cu113
36
- fi
92
+ python -m pip install ${{ matrix.pytorch }}
37
93
python -m pip install -r requirements-dev.txt
38
94
python -m pip list
39
95
- name : Run tests report coverage
@@ -52,21 +108,22 @@ jobs:
52
108
BUILD_MONAI=1 ./runtests.sh --build --coverage --net # integration tests with coverage report
53
109
coverage xml --ignore-errors
54
110
if pgrep python; then pkill python; fi
111
+ shell : bash
55
112
- name : Upload coverage
56
- uses : codecov/codecov-action@v1
113
+ uses : codecov/codecov-action@v3
57
114
with :
58
115
fail_ci_if_error : false
59
- file : ./coverage.xml
116
+ files : ./coverage.xml
60
117
61
118
cron-pt-image :
62
119
if : github.repository == 'Project-MONAI/MONAI'
63
120
strategy :
64
121
matrix :
65
- container : ["pytorch:21.02", "pytorch:21.10", "pytorch:22.08 "] # 21.02, 21.10 for backward comp.
122
+ container : ["pytorch:21.02", "pytorch:21.10", "pytorch:22.10 "] # 21.02, 21.10 for backward comp.
66
123
container :
67
124
image : nvcr.io/nvidia/${{ matrix.container }}-py3 # testing with the latest pytorch base image
68
125
options : " --gpus all"
69
- runs-on : [self-hosted, linux, x64, common ]
126
+ runs-on : [self-hosted, linux, x64, integration ]
70
127
steps :
71
128
- uses : actions/checkout@v3
72
129
- name : Install APT dependencies
@@ -95,22 +152,23 @@ jobs:
95
152
BUILD_MONAI=1 ./runtests.sh --build --coverage --net # integration tests with coverage report
96
153
coverage xml --ignore-errors
97
154
if pgrep python; then pkill python; fi
155
+ shell : bash
98
156
- name : Upload coverage
99
- uses : codecov/codecov-action@v1
157
+ uses : codecov/codecov-action@v3
100
158
with :
101
159
fail_ci_if_error : false
102
- file : ./coverage.xml
160
+ files : ./coverage.xml
103
161
104
162
cron-pip :
105
163
# pip install monai[all] and use it to run unit tests
106
164
if : github.repository == 'Project-MONAI/MONAI'
107
165
strategy :
108
166
matrix :
109
- container : ["pytorch:21.02", "pytorch:21.10", "pytorch:22.08 "] # 21.02, 21.10 for backward comp.
167
+ container : ["pytorch:21.02", "pytorch:21.10", "pytorch:22.10 "] # 21.02, 21.10 for backward comp.
110
168
container :
111
169
image : nvcr.io/nvidia/${{ matrix.container }}-py3 # testing with the latest pytorch base image
112
170
options : " --gpus all"
113
- runs-on : [self-hosted, linux, x64, common ]
171
+ runs-on : [self-hosted, linux, x64, integration ]
114
172
steps :
115
173
- uses : actions/checkout@v3
116
174
with :
@@ -121,6 +179,7 @@ jobs:
121
179
python -m pip install --upgrade pip wheel twine
122
180
python -m pip list
123
181
- name : Run tests report coverage
182
+ shell : bash
124
183
run : |
125
184
pip uninstall monai
126
185
pip list | grep -iv monai
@@ -175,7 +234,7 @@ jobs:
175
234
container :
176
235
image : docker://projectmonai/monai:latest # this might be slow and has the pull count limitations
177
236
options : " --gpus all"
178
- runs-on : [self-hosted, linux, x64, common ]
237
+ runs-on : [self-hosted, linux, x64, integration ]
179
238
steps :
180
239
- name : Run tests report coverage
181
240
# The docker image process has done the compilation.
@@ -194,19 +253,20 @@ jobs:
194
253
BUILD_MONAI=1 ./runtests.sh --build --coverage --net # integration tests with coverage report
195
254
coverage xml --ignore-errors
196
255
if pgrep python; then pkill python; fi
256
+ shell : bash
197
257
- name : Upload coverage
198
- uses : codecov/codecov-action@v1
258
+ uses : codecov/codecov-action@v3
199
259
with :
200
260
fail_ci_if_error : false
201
- file : ./coverage.xml
261
+ files : ./coverage.xml
202
262
203
263
cron-tutorial-notebooks :
204
264
if : github.repository == 'Project-MONAI/MONAI'
205
265
needs : cron-gpu # so that monai itself is verified first
206
266
container :
207
- image : nvcr.io/nvidia/pytorch:22.08 -py3 # testing with the latest pytorch base image
267
+ image : nvcr.io/nvidia/pytorch:22.10 -py3 # testing with the latest pytorch base image
208
268
options : " --gpus all --ipc=host"
209
- runs-on : [self-hosted, linux, x64, common ]
269
+ runs-on : [self-hosted, linux, x64, integration ]
210
270
steps :
211
271
- uses : actions/checkout@v3
212
272
- name : Install MONAI
@@ -219,7 +279,7 @@ jobs:
219
279
nvidia-smi
220
280
export CUDA_VISIBLE_DEVICES=$(python -m tests.utils | tail -n 1)
221
281
echo $CUDA_VISIBLE_DEVICES
222
- echo "::set-output name= devices:: $CUDA_VISIBLE_DEVICES"
282
+ echo "devices= $CUDA_VISIBLE_DEVICES" >> $GITHUB_OUTPUT
223
283
- name : Checkout tutorials and install their requirements
224
284
run : |
225
285
cd /opt
@@ -238,3 +298,4 @@ jobs:
238
298
$(pwd)/runner.sh
239
299
python -c 'import monai; monai.config.print_debug_info()'
240
300
if pgrep python; then pkill python; fi
301
+ shell : bash
0 commit comments