Skip to content

Commit faddc3a

Browse files
committed
Merge remote-tracking branch 'origin/main' into input_annotations
2 parents 5466f95 + 4337bee commit faddc3a

File tree

411 files changed

+3903
-9245
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

411 files changed

+3903
-9245
lines changed

.coveragerc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ exclude_lines =
99
pragma: no cover
1010
raise NotImplementedError
1111
if __name__ == .__main__.:
12+
if TYPE_CHECKING:
1213
ignore_errors = True
1314
omit =
1415
tests/*

.flake8

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[flake8]
2+
ignore = E203,W503
3+
max-line-length = 100
4+
select = B,C,E,F,W,T4
5+
exclude = cwltool/schemas
6+
extend-ignore = E501,B905
7+
# when Python 3.10 is the minimum version, re-enable check B905 for zip + strict
8+
extend-select = B9

.git-blame-ignore-revs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# isort
2+
46e0485a889453dc178a878b5b5ebbfc7e4eb5f1
3+
4+
# upgrade to black 20.8b1
5+
6fd6fdb381fe3f347627fd517a8f2dba7b0a7029
6+
7+
# upgrade to black 23.1, longer lines (100)
8+
7fe8c0739b0515d00daabc7db87bc5fad926d345

.github/workflows/ci-tests.yml

Lines changed: 105 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Continuous integration tests
1+
name: CI Tests
22

33
on:
44
push:
@@ -12,48 +12,53 @@ concurrency:
1212
cancel-in-progress: true
1313

1414
env:
15-
singularity_version: 3.8.3
15+
TOX_SKIP_MISSING_INTERPRETERS: False
16+
# Rich (pip)
17+
FORCE_COLOR: 1
18+
# Tox
19+
PY_COLORS: 1
20+
# Mypy (see https://github.com/python/mypy/issues/7771)
21+
TERM: xterm-color
22+
MYPY_FORCE_COLOR: 1
23+
MYPY_FORCE_TERMINAL_WIDTH: 200
24+
# Pytest
25+
PYTEST_ADDOPTS: --color=yes
1626

1727
jobs:
1828

1929
tox:
20-
name: CI tests via Tox
21-
22-
runs-on: ubuntu-20.04 # 22.04 doesn't support Python 3.6
23-
30+
name: Tox
31+
runs-on: ubuntu-22.04
2432
strategy:
2533
matrix:
2634
py-ver-major: [3]
27-
py-ver-minor: [6, 7, 8, 9, 10, 11]
35+
py-ver-minor: [8, 9, 10, 11, 12]
2836
step: [lint, unit, bandit, mypy]
29-
exclude:
30-
- py-ver-major: 3
31-
py-ver-minor: 6
32-
step: mypy
3337

3438
env:
3539
py-semver: ${{ format('{0}.{1}', matrix.py-ver-major, matrix.py-ver-minor) }}
3640
TOXENV: ${{ format('py{0}{1}-{2}', matrix.py-ver-major, matrix.py-ver-minor, matrix.step) }}
3741

3842
steps:
39-
- uses: actions/checkout@v3
43+
- uses: actions/checkout@v4
4044
with:
4145
fetch-depth: 0
4246

4347
- name: Set up Singularity
4448
if: ${{ matrix.step == 'unit' || matrix.step == 'mypy' }}
45-
uses: eWaterCycle/setup-singularity@v7
46-
with:
47-
singularity-version: ${{ env.singularity_version }}
49+
run: |
50+
wget --no-verbose https://github.com/sylabs/singularity/releases/download/v3.10.4/singularity-ce_3.10.4-focal_amd64.deb
51+
sudo apt-get install -y ./singularity-ce_3.10.4-focal_amd64.deb
4852
4953
- name: Give the test runner user a name to make provenance happy.
5054
if: ${{ matrix.step == 'unit' || matrix.step == 'mypy' }}
51-
run: sudo usermod -c 'CI Runner' $(whoami)
55+
run: sudo usermod -c 'CI Runner' "$(whoami)"
5256

5357
- name: Set up Python
5458
uses: actions/setup-python@v4
5559
with:
5660
python-version: ${{ env.py-semver }}
61+
allow-prereleases: true
5762
cache: pip
5863
cache-dependency-path: |
5964
requirements.txt
@@ -62,7 +67,7 @@ jobs:
6267
- name: Upgrade setuptools and install tox
6368
run: |
6469
pip install -U pip setuptools wheel
65-
pip install tox tox-gh-actions
70+
pip install "tox<4" "tox-gh-actions<3"
6671
6772
- name: MyPy cache
6873
if: ${{ matrix.step == 'mypy' }}
@@ -78,24 +83,23 @@ jobs:
7883
if: ${{ matrix.step == 'unit' }}
7984
uses: codecov/codecov-action@v3
8085
with:
81-
fail_ci_if_error: true
86+
fail_ci_if_error: false
8287
token: ${{ secrets.CODECOV_TOKEN }}
8388

8489
tox-style:
85-
name: CI linters via Tox
86-
90+
name: Linters
8791
runs-on: ubuntu-20.04
8892

8993
strategy:
9094
matrix:
9195
step: [lintreadme, shellcheck, pydocstyle]
9296

9397
env:
94-
py-semver: "3.11"
95-
TOXENV: ${{ format('py311-{0}', matrix.step) }}
98+
py-semver: "3.12"
99+
TOXENV: ${{ format('py312-{0}', matrix.step) }}
96100

97101
steps:
98-
- uses: actions/checkout@v3
102+
- uses: actions/checkout@v4
99103
with:
100104
fetch-depth: 0
101105

@@ -108,7 +112,7 @@ jobs:
108112
- name: Upgrade setuptools and install tox
109113
run: |
110114
pip install -U pip setuptools wheel
111-
pip install tox tox-gh-actions
115+
pip install "tox<4" "tox-gh-actions<3"
112116
113117
- if: ${{ matrix.step == 'pydocstyle' && github.event_name == 'pull_request'}}
114118
name: Create local branch for diff-quality for PRs
@@ -117,10 +121,47 @@ jobs:
117121
- name: Test with tox
118122
run: tox
119123

120-
conformance_tests:
121-
name: CWL spec conformance tests
124+
clean_working_dir:
125+
name: No leftovers
126+
runs-on: ubuntu-22.04
127+
env:
128+
py-semver: "3.12"
129+
steps:
130+
- uses: actions/checkout@v4
131+
with:
132+
fetch-depth: 0
133+
134+
- name: Set up Singularity
135+
run: |
136+
wget --no-verbose https://github.com/sylabs/singularity/releases/download/v3.10.4/singularity-ce_3.10.4-focal_amd64.deb
137+
sudo apt-get install -y ./singularity-ce_3.10.4-focal_amd64.deb
138+
139+
- name: Give the test runner user a name to make provenance happy.
140+
run: sudo usermod -c 'CI Runner' "$(whoami)"
141+
142+
- name: Set up Python
143+
uses: actions/setup-python@v4
144+
with:
145+
python-version: ${{ env.py-semver }}
146+
cache: pip
147+
148+
- name: install with test dependencies
149+
run: |
150+
pip install -U pip setuptools wheel
151+
pip install --no-build-isolation -rtest-requirements.txt .[deps]
152+
153+
- name: make working directory read-only
154+
run: |
155+
mkdir .pytest_cache
156+
chmod a-w .
157+
158+
- name: run tests
159+
run: make test
122160

123-
runs-on: ubuntu-20.04
161+
162+
conformance_tests:
163+
name: CWL conformance
164+
runs-on: ubuntu-22.04
124165

125166
strategy:
126167
matrix:
@@ -133,13 +174,20 @@ jobs:
133174
extras: "--fast-parser"
134175

135176
steps:
136-
- uses: actions/checkout@v3
177+
- uses: actions/checkout@v4
137178

138179
- name: Set up Singularity
139180
if: ${{ matrix.container == 'singularity' }}
140-
uses: eWaterCycle/setup-singularity@v7
181+
run: |
182+
wget --no-verbose https://github.com/sylabs/singularity/releases/download/v3.10.4/singularity-ce_3.10.4-jammy_amd64.deb
183+
sudo apt-get install -y ./singularity-ce_3.10.4-jammy_amd64.deb
184+
185+
- name: Singularity cache
186+
if: ${{ matrix.container == 'singularity' }}
187+
uses: actions/cache@v3
141188
with:
142-
singularity-version: ${{ env.singularity_version }}
189+
path: sifcache
190+
key: singularity
143191

144192
- name: Set up Podman
145193
if: ${{ matrix.container == 'podman' }}
@@ -148,41 +196,44 @@ jobs:
148196
- name: Set up Python
149197
uses: actions/setup-python@v4
150198
with:
151-
python-version: 3.9
199+
python-version: 3.12
152200
cache: pip
153201

154-
- name: Run CWL conformance tests ${{ matrix.cwl-version }}
202+
- name: "Test CWL ${{ matrix.cwl-version }} conformance"
155203
env:
156-
version: ${{ matrix.cwl-version }}
157-
container: ${{ matrix.container }}
158-
spec_branch: main
204+
VERSION: ${{ matrix.cwl-version }}
205+
CONTAINER: ${{ matrix.container }}
206+
GIT_TARGET: main
159207
CWLTOOL_OPTIONS: ${{ matrix.extras }}
160208
run: ./conformance-test.sh
161-
209+
- name: Upload coverage to Codecov
210+
uses: codecov/codecov-action@v3
211+
with:
212+
fail_ci_if_error: false
213+
token: ${{ secrets.CODECOV_TOKEN }}
162214
release_test:
163215
name: cwltool release test
164-
165216
runs-on: ubuntu-22.04
166217

167218
steps:
168-
- uses: actions/checkout@v3
219+
- uses: actions/checkout@v4
169220

170221
- name: Set up Singularity
171-
uses: eWaterCycle/setup-singularity@v7
172-
with:
173-
singularity-version: ${{ env.singularity_version }}
222+
run: |
223+
wget --no-verbose https://github.com/sylabs/singularity/releases/download/v3.10.4/singularity-ce_3.10.4-jammy_amd64.deb
224+
sudo apt-get install -y ./singularity-ce_3.10.4-jammy_amd64.deb
174225
175226
- name: Set up Python
176227
uses: actions/setup-python@v4
177228
with:
178-
python-version: 3.11
229+
python-version: 3.12
179230
cache: pip
180231
cache-dependency-path: |
181232
requirements.txt
182233
test-requirements.txt
183234
184235
- name: Give the test runner user a name to make provenance happy.
185-
run: sudo usermod -c 'CI Runner' $(whoami)
236+
run: sudo usermod -c 'CI Runner' "$(whoami)"
186237

187238
- name: Install packages
188239
run: |
@@ -197,31 +248,35 @@ jobs:
197248
build_test_container:
198249
runs-on: ubuntu-latest
199250
steps:
200-
- uses: actions/checkout@v3
251+
- uses: actions/checkout@v4
252+
with:
253+
fetch-depth: 0
254+
- name: record cwltool version
255+
run: pip install -U setuptools wheel && pip install setuptools_scm[toml] && python setup.py --version
201256
- name: build & test cwltool_module container
202257
run: ./build-cwltool-docker.sh
203258

204259
macos:
205-
name: CI test on macos-latest
260+
name: Test on macos-latest
206261
runs-on: macos-latest
207262
env:
208-
TOXENV: py310-unit
263+
TOXENV: py312-unit
209264
steps:
210-
- uses: actions/checkout@v3
265+
- uses: actions/checkout@v4
211266
with:
212267
fetch-depth: 0
213268
- name: Set up Python
214269
uses: actions/setup-python@v4
215270
with:
216-
python-version: 3.11
271+
python-version: 3.12
217272
cache: pip
218273
cache-dependency-path: |
219274
requirements.txt
220275
tox.ini
221276
- name: Upgrade setuptools and install tox
222277
run: |
223278
pip install -U pip setuptools wheel
224-
pip install tox tox-gh-actions
279+
pip install "tox<4" "tox-gh-actions<3"
225280
# # docker for mac install is not currently stable
226281
# - name: 'SETUP MacOS: load Homebrew cache'
227282
# uses: actions/cache@v3
@@ -236,8 +291,7 @@ jobs:
236291
- name: Test with tox
237292
run: tox
238293
- name: Upload coverage to Codecov
239-
if: ${{ matrix.step == 'unit' }}
240294
uses: codecov/codecov-action@v3
241295
with:
242-
fail_ci_if_error: true
296+
fail_ci_if_error: false
243297
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
steps:
2525
- name: Checkout repository
26-
uses: actions/checkout@v3
26+
uses: actions/checkout@v4
2727

2828
# Initializes the CodeQL tools for scanning.
2929
- name: Initialize CodeQL

0 commit comments

Comments
 (0)