@@ -28,26 +28,19 @@ jobs:
28
28
29
29
tox :
30
30
name : Tox
31
- runs-on : ubuntu-20.04 # 22.04 doesn't support Python 3.6
31
+ runs-on : ubuntu-22.04
32
32
strategy :
33
33
matrix :
34
34
py-ver-major : [3]
35
- py-ver-minor : [6, 7, 8, 9, 10, 11]
35
+ py-ver-minor : [8, 9, 10, 11, 12 ]
36
36
step : [lint, unit, bandit, mypy]
37
- exclude :
38
- - py-ver-major : 3
39
- py-ver-minor : 6
40
- step : mypy
41
- - py-ver-major : 3
42
- py-ver-minor : 6
43
- step : lint
44
37
45
38
env :
46
39
py-semver : ${{ format('{0}.{1}', matrix.py-ver-major, matrix.py-ver-minor) }}
47
40
TOXENV : ${{ format('py{0}{1}-{2}', matrix.py-ver-major, matrix.py-ver-minor, matrix.step) }}
48
41
49
42
steps :
50
- - uses : actions/checkout@v3
43
+ - uses : actions/checkout@v4
51
44
with :
52
45
fetch-depth : 0
53
46
62
55
run : sudo usermod -c 'CI Runner' "$(whoami)"
63
56
64
57
- name : Set up Python
65
- uses : actions/setup-python@v4
58
+ uses : actions/setup-python@v5
66
59
with :
67
60
python-version : ${{ env.py-semver }}
61
+ allow-prereleases : true
68
62
cache : pip
69
63
cache-dependency-path : |
70
64
requirements.txt
@@ -77,20 +71,21 @@ jobs:
77
71
78
72
- name : MyPy cache
79
73
if : ${{ matrix.step == 'mypy' }}
80
- uses : actions/cache@v3
74
+ uses : actions/cache@v4
81
75
with :
82
76
path : .mypy_cache/${{ env.py-semver }}
83
77
key : mypy-${{ env.py-semver }}
84
78
85
79
- name : Test with tox
86
- run : tox
80
+ run : APPTAINER_TMPDIR=${RUNNER_TEMP} tox
87
81
88
82
- name : Upload coverage to Codecov
89
83
if : ${{ matrix.step == 'unit' }}
90
- uses : codecov/codecov-action@v3
84
+ uses : codecov/codecov-action@v4
91
85
with :
92
- fail_ci_if_error : false
93
- token : ${{ secrets.CODECOV_TOKEN }}
86
+ fail_ci_if_error : true
87
+ env :
88
+ CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
94
89
95
90
tox-style :
96
91
name : Linters
@@ -101,16 +96,16 @@ jobs:
101
96
step : [lintreadme, shellcheck, pydocstyle]
102
97
103
98
env :
104
- py-semver : " 3.11 "
105
- TOXENV : ${{ format('py311 -{0}', matrix.step) }}
99
+ py-semver : " 3.12 "
100
+ TOXENV : ${{ format('py312 -{0}', matrix.step) }}
106
101
107
102
steps :
108
- - uses : actions/checkout@v3
103
+ - uses : actions/checkout@v4
109
104
with :
110
105
fetch-depth : 0
111
106
112
107
- name : Set up Python
113
- uses : actions/setup-python@v4
108
+ uses : actions/setup-python@v5
114
109
with :
115
110
python-version : ${{ env.py-semver }}
116
111
cache : pip
@@ -131,9 +126,9 @@ jobs:
131
126
name : No leftovers
132
127
runs-on : ubuntu-22.04
133
128
env :
134
- py-semver : " 3.11 "
129
+ py-semver : " 3.12 "
135
130
steps :
136
- - uses : actions/checkout@v3
131
+ - uses : actions/checkout@v4
137
132
with :
138
133
fetch-depth : 0
139
134
@@ -146,7 +141,7 @@ jobs:
146
141
run : sudo usermod -c 'CI Runner' "$(whoami)"
147
142
148
143
- name : Set up Python
149
- uses : actions/setup-python@v4
144
+ uses : actions/setup-python@v5
150
145
with :
151
146
python-version : ${{ env.py-semver }}
152
147
cache : pip
@@ -162,7 +157,7 @@ jobs:
162
157
chmod a-w .
163
158
164
159
- name : run tests
165
- run : make test
160
+ run : APPTAINER_TMPDIR=${RUNNER_TEMP} make test
166
161
167
162
168
163
conformance_tests :
@@ -180,7 +175,7 @@ jobs:
180
175
extras : " --fast-parser"
181
176
182
177
steps :
183
- - uses : actions/checkout@v3
178
+ - uses : actions/checkout@v4
184
179
185
180
- name : Set up Singularity
186
181
if : ${{ matrix.container == 'singularity' }}
@@ -190,7 +185,7 @@ jobs:
190
185
191
186
- name : Singularity cache
192
187
if : ${{ matrix.container == 'singularity' }}
193
- uses : actions/cache@v3
188
+ uses : actions/cache@v4
194
189
with :
195
190
path : sifcache
196
191
key : singularity
@@ -200,39 +195,46 @@ jobs:
200
195
run : sudo rm -f /usr/bin/docker ; sudo apt-get install -y podman
201
196
202
197
- name : Set up Python
203
- uses : actions/setup-python@v4
198
+ uses : actions/setup-python@v5
204
199
with :
205
- python-version : 3.11
200
+ python-version : 3.12
206
201
cache : pip
207
202
208
203
- name : " Test CWL ${{ matrix.cwl-version }} conformance"
209
204
env :
210
205
VERSION : ${{ matrix.cwl-version }}
211
206
CONTAINER : ${{ matrix.container }}
212
207
GIT_TARGET : main
213
- CWLTOOL_OPTIONS : ${{ matrix.extras }}
208
+ CWLTOOL_OPTIONS : ${{ matrix.cwl-version == 'v1.2' && '--relax-path-checks' || '' }} ${{ matrix. extras }}
214
209
run : ./conformance-test.sh
210
+ - name : Archive test results
211
+ uses : actions/upload-artifact@v4
212
+ with :
213
+ name : cwl-${{ matrix.cwl-version }}-${{ matrix.container }}${{ matrix.extras }}-conformance-results
214
+ path : |
215
+ **/cwltool_conf*.xml
215
216
- name : Upload coverage to Codecov
216
- uses : codecov/codecov-action@v3
217
+ uses : codecov/codecov-action@v4
217
218
with :
218
- fail_ci_if_error : false
219
- token : ${{ secrets.CODECOV_TOKEN }}
219
+ fail_ci_if_error : true
220
+ env :
221
+ CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
220
222
release_test :
221
223
name : cwltool release test
222
224
runs-on : ubuntu-22.04
223
225
224
226
steps :
225
- - uses : actions/checkout@v3
227
+ - uses : actions/checkout@v4
226
228
227
229
- name : Set up Singularity
228
230
run : |
229
231
wget --no-verbose https://github.com/sylabs/singularity/releases/download/v3.10.4/singularity-ce_3.10.4-jammy_amd64.deb
230
232
sudo apt-get install -y ./singularity-ce_3.10.4-jammy_amd64.deb
231
233
232
234
- name : Set up Python
233
- uses : actions/setup-python@v4
235
+ uses : actions/setup-python@v5
234
236
with :
235
- python-version : 3.11
237
+ python-version : 3.12
236
238
cache : pip
237
239
cache-dependency-path : |
238
240
requirements.txt
@@ -254,23 +256,27 @@ jobs:
254
256
build_test_container :
255
257
runs-on : ubuntu-latest
256
258
steps :
257
- - uses : actions/checkout@v3
259
+ - uses : actions/checkout@v4
260
+ with :
261
+ fetch-depth : 0
262
+ - name : record cwltool version
263
+ run : pip install -U setuptools wheel && pip install setuptools_scm[toml] && python setup.py --version
258
264
- name : build & test cwltool_module container
259
265
run : ./build-cwltool-docker.sh
260
266
261
267
macos :
262
268
name : Test on macos-latest
263
- runs-on : macos-latest
269
+ runs-on : macos-13 # not latest, that is now an Apple Silicon M1, for which seqtk is not yet built on bioconda
264
270
env :
265
- TOXENV : py311 -unit
271
+ TOXENV : py312 -unit
266
272
steps :
267
- - uses : actions/checkout@v3
273
+ - uses : actions/checkout@v4
268
274
with :
269
275
fetch-depth : 0
270
276
- name : Set up Python
271
- uses : actions/setup-python@v4
277
+ uses : actions/setup-python@v5
272
278
with :
273
- python-version : 3.11
279
+ python-version : 3.12
274
280
cache : pip
275
281
cache-dependency-path : |
276
282
requirements.txt
@@ -281,7 +287,7 @@ jobs:
281
287
pip install "tox<4" "tox-gh-actions<3"
282
288
# # docker for mac install is not currently stable
283
289
# - name: 'SETUP MacOS: load Homebrew cache'
284
- # uses: actions/cache@v3
290
+ # uses: actions/cache@v4
285
291
# if: runner.os == 'macOS'
286
292
# with:
287
293
# path: |
@@ -293,7 +299,8 @@ jobs:
293
299
- name : Test with tox
294
300
run : tox
295
301
- name : Upload coverage to Codecov
296
- uses : codecov/codecov-action@v3
302
+ uses : codecov/codecov-action@v4
297
303
with :
298
- fail_ci_if_error : false
299
- token : ${{ secrets.CODECOV_TOKEN }}
304
+ fail_ci_if_error : true
305
+ env :
306
+ CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
0 commit comments