Skip to content

Commit 260df85

Browse files
committed
test with Python 3.11
1 parent fb816b4 commit 260df85

File tree

3 files changed

+55
-42
lines changed

3 files changed

+55
-42
lines changed

.github/workflows/ci-tests.yml

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ jobs:
1919
tox:
2020
name: CI tests via Tox
2121

22-
runs-on: ubuntu-20.04
22+
runs-on: ubuntu-20.04 # 22.04 doesn't support Python 3.6
2323

2424
strategy:
2525
matrix:
2626
py-ver-major: [3]
27-
py-ver-minor: [6, 7, 8, 9, 10]
27+
py-ver-minor: [6, 7, 8, 9, 10, 11]
2828
step: [lint, unit, bandit, mypy]
2929
exclude:
3030
- py-ver-major: 3
@@ -51,6 +51,7 @@ jobs:
5151
run: sudo usermod -c 'CI Runner' $(whoami)
5252

5353
- name: Set up Python
54+
if: matrix.py-ver-minor != 11
5455
uses: actions/setup-python@v4
5556
with:
5657
python-version: ${{ env.py-semver }}
@@ -59,6 +60,16 @@ jobs:
5960
requirements.txt
6061
tox.ini
6162
63+
- name: Set up Python 3.11.0-rc.2
64+
if: matrix.py-ver-minor == 11
65+
uses: actions/setup-python@v4
66+
with:
67+
python-version: 3.11.0-rc.2
68+
cache: pip
69+
cache-dependency-path: |
70+
requirements.txt
71+
tox.ini
72+
6273
- name: Upgrade setuptools and install tox
6374
run: |
6475
pip install -U pip setuptools wheel
@@ -156,7 +167,7 @@ jobs:
156167
release_test:
157168
name: cwltool release test
158169

159-
runs-on: ubuntu-20.04
170+
runs-on: ubuntu-22.04
160171

161172
steps:
162173
- uses: actions/checkout@v3

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@
157157
"Programming Language :: Python :: 3.8",
158158
"Programming Language :: Python :: 3.9",
159159
"Programming Language :: Python :: 3.10",
160+
"Programming Language :: Python :: 3.11",
160161
"Topic :: Scientific/Engineering",
161162
"Topic :: Scientific/Engineering :: Bio-Informatics",
162163
"Topic :: Scientific/Engineering :: Astronomy",

tox.ini

Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
[tox]
22
envlist =
3-
py3{6,7,8,9,10}-lint
4-
py3{6,7,8,9,10}-unit
5-
py3{6,7,8,9,10}-bandit
6-
py3{7,8,9,10}-mypy
7-
py39-lintreadme
8-
py39-shellcheck
9-
py39-pydocstyle
3+
py3{6,7,8,9,10,11}-lint
4+
py3{6,7,8,9,10,11}-unit
5+
py3{6,7,8,9,10,11}-bandit
6+
py3{7,8,9,10,11}-mypy
7+
py310-lintreadme
8+
py310-shellcheck
9+
py310-pydocstyle
1010

1111
skip_missing_interpreters = True
1212

@@ -21,60 +21,61 @@ python =
2121
3.8: py38
2222
3.9: py39
2323
3.10: py310
24+
3.11: py311
2425

2526
[testenv]
2627
skipsdist =
27-
py3{6,7,8,9,10}-!{unit,mypy,lintreadme} = True
28+
py3{6,7,8,9,10,11}-!{unit,mypy,lintreadme} = True
2829

2930
description =
30-
py3{6,7,8,9,10}-unit: Run the unit tests
31-
py3{6,7,8,9,10}-lint: Lint the Python code
32-
py3{6,7,8,9,10}-bandit: Search for common security issues
33-
py3{7,8,9,10}-mypy: Check for type safety
34-
py39-pydocstyle: docstring style checker
35-
py39-shellcheck: syntax check for shell scripts
36-
py39-lintreadme: Lint the README.rst→.md conversion
31+
py3{6,7,8,9,10,11}-unit: Run the unit tests
32+
py3{6,7,8,9,10,11}-lint: Lint the Python code
33+
py3{6,7,8,9,10,11}-bandit: Search for common security issues
34+
py3{7,8,9,10,11}-mypy: Check for type safety
35+
py310-pydocstyle: docstring style checker
36+
py310-shellcheck: syntax check for shell scripts
37+
py310-lintreadme: Lint the README.rst→.md conversion
3738

3839
passenv =
3940
CI
4041
GITHUB_*
4142
PROOT_NO_SECCOMP
4243

4344
extras =
44-
py3{6,7,8,9,10}-unit: deps
45+
py3{6,7,8,9,10,11}-unit: deps
4546

4647
deps =
47-
py3{6,7,8,9,10}-{unit,lint,bandit,mypy}: -rrequirements.txt
48-
py3{6,7,8,9,10}-{unit,mypy}: -rtest-requirements.txt
49-
py3{6,7,8,9,10}-lint: -rlint-requirements.txt
50-
py3{6,7,8,9,10}-bandit: bandit
51-
py3{6,7,8,9,10}-bandit: importlib_metadata != 4.8.0
52-
py3{7,8,9,10}-mypy: -rmypy-requirements.txt
53-
py39-pydocstyle: pydocstyle
54-
py39-pydocstyle: diff-cover
55-
py39-lintreadme: twine
56-
py39-lintreadme: wheel
57-
py39-lintreadme: readme_renderer[md]
48+
py3{6,7,8,9,10,11}-{unit,lint,bandit,mypy}: -rrequirements.txt
49+
py3{6,7,8,9,10,11}-{unit,mypy}: -rtest-requirements.txt
50+
py3{6,7,8,9,10,11}-lint: -rlint-requirements.txt
51+
py3{6,7,8,9,10,11}-bandit: bandit
52+
py3{6,7,8,9,10,11}-bandit: importlib_metadata != 4.8.0
53+
py3{7,8,9,10,11}-mypy: -rmypy-requirements.txt
54+
py310-pydocstyle: pydocstyle
55+
py310-pydocstyle: diff-cover
56+
py310-lintreadme: twine
57+
py310-lintreadme: wheel
58+
py310-lintreadme: readme_renderer[md]
5859

5960
setenv =
60-
py3{6,7,8,9,10}-unit: LC_ALL = C.UTF-8
61+
py3{6,7,8,9,10,11}-unit: LC_ALL = C.UTF-8
6162

6263
commands_pre =
63-
py3{6,7,8,9,10}-unit: python -m pip install -U pip setuptools wheel
64-
py39-lintreadme: python setup.py sdist --dist-dir {distdir}
65-
py39-lintreadme: python setup.py bdist_wheel --dist-dir {distdir}
64+
py3{6,7,8,9,10,11}-unit: python -m pip install -U pip setuptools wheel
65+
py310-lintreadme: python setup.py sdist --dist-dir {distdir}
66+
py310-lintreadme: python setup.py bdist_wheel --dist-dir {distdir}
6667

6768
commands =
68-
py3{6,7,8,9,10}-unit: make coverage-report coverage.xml PYTEST_EXTRA={posargs}
69-
py3{6,7,8,9,10}-bandit: bandit -r cwltool
70-
py3{6,7,8,9,10}-lint: make flake8 format-check codespell
71-
py3{7,8,9,10}-mypy: make mypy mypyc PYTEST_EXTRA={posargs}
69+
py3{6,7,8,9,10,11}-unit: make coverage-report coverage.xml PYTEST_EXTRA={posargs}
70+
py3{6,7,8,9,10,11}-bandit: bandit -r cwltool
71+
py3{6,7,8,9,10,11}-lint: make flake8 format-check codespell
72+
py3{7,8,9,10,11}-mypy: make mypy mypyc PYTEST_EXTRA={posargs}
7273
py37-mypy: make mypy_3.6
73-
py39-shellcheck: make shellcheck
74-
py39-pydocstyle: make diff_pydocstyle_report
75-
py39-lintreadme: twine check {distdir}/*
74+
py310-shellcheck: make shellcheck
75+
py310-pydocstyle: make diff_pydocstyle_report
76+
py310-lintreadme: twine check {distdir}/*
7677

7778
skip_install =
78-
py3{6,7,8,9,10}-{bandit,lint,mypy,shellcheck,pydocstyle,lintreadme}: true
79+
py3{6,7,8,9,10,11}-{bandit,lint,mypy,shellcheck,pydocstyle,lintreadme}: true
7980

8081
allowlist_externals = make

0 commit comments

Comments
 (0)