11[tox]
22envlist =
3- py3{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
3+ py3{8,9,10,11,12 }-lint
4+ py3{6,7,8,9,10,11,12 }-unit
5+ py3{6,7,8,9,10,11,12 }-bandit
6+ py3{7,8,9,10,11,12 }-mypy
77 py311-lintreadme
88 py311-shellcheck
99 py311-pydocstyle
@@ -22,16 +22,17 @@ python =
2222 3.9: py39
2323 3.10: py310
2424 3.11: py311
25+ 3.12: py312
2526
2627[testenv]
2728skipsdist =
28- py3{6,7,8,9,10,11}-!{unit,mypy,lintreadme} = True
29+ py3{6,7,8,9,10,11,12 }-!{unit,mypy,lintreadme} = True
2930
3031description =
31- py3{6,7,8,9,10,11}-unit: Run the unit tests
32- py3{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
32+ py3{6,7,8,9,10,11,12 }-unit: Run the unit tests
33+ py3{8,9,10,11,12 }-lint: Lint the Python code
34+ py3{6,7,8,9,10,11,12 }-bandit: Search for common security issues
35+ py3{7,8,9,10,11,12 }-mypy: Check for type safety
3536 py311-pydocstyle: docstring style checker
3637 py311-shellcheck: syntax check for shell scripts
3738 py311-lintreadme: Lint the README.rst→.md conversion
@@ -42,39 +43,40 @@ passenv =
4243 PROOT_NO_SECCOMP
4344
4445extras =
45- py3{6,7,8,9,10,11}-unit: deps
46+ py3{6,7,8,9,10,11,12 }-unit: deps
4647
4748deps =
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{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
49+ py3{6,7,8,9,10,11,12 }-{unit,lint,bandit,mypy}: -rrequirements.txt
50+ py3{6,7,8,9,10,11,12 }-{unit,mypy}: -rtest-requirements.txt
51+ py3{8,9,10,11,12 }-lint: -rlint-requirements.txt
52+ py3{6,7,8,9,10,11,12 }-bandit: bandit
53+ py3{6,7,8,9,10,11,12 }-bandit: importlib_metadata != 4.8.0
54+ py3{7,8,9,10,11,12 }-mypy: -rmypy-requirements.txt
5455 py311-pydocstyle: pydocstyle
5556 py311-pydocstyle: diff-cover
5657 py311-lintreadme: twine
5758 py311-lintreadme: build
5859 py311-lintreadme: readme_renderer[rst]
5960
6061setenv =
61- py3{6,7,8,9,10,11}-unit: LC_ALL = C.UTF-8
62+ py3{6,7,8,9,10,11,12 }-unit: LC_ALL = C.UTF-8
6263
6364commands_pre =
64- py3{6,7,8,9,10,11}-unit: python -m pip install -U pip setuptools wheel
65+ py3{6,7,8,9,10,11,12 }-unit: python -m pip install -U pip setuptools wheel
6566 py311-lintreadme: python -m build --outdir {distdir}
6667
6768commands =
68- py3{6,7,8,9,10,11}-unit: make coverage-report coverage.xml PYTEST_EXTRA ={posargs}
69- py3{6,7,8,9,10,11}-bandit: bandit -r cwltool
70- py3{8,9,10,11}-lint: make flake8 format-check codespell-check
71- py3{7,8,9,10,11}-mypy: make mypy mypyc PYTEST_EXTRA ={posargs}
69+ py3{6,7,8,9,10,11,12}-unit: make coverage-report coverage.xml PYTEST_EXTRA ={posargs}
70+ py3{6,7,8,9,10,11,12}-bandit: bandit -r cwltool
71+ py3{8,9,10,11,12}-lint: make flake8 format-check codespell-check
72+ py3{7,8,9,10,11,12}-mypy: make mypy PYTEST_EXTRA ={posargs}
73+ py3{7,8,9,10,11}-mypy: make mypyc PYTEST_EXTRA ={posargs}
7274 py37-mypy: make mypy_3.6
7375 py311-shellcheck: make shellcheck
7476 py311-pydocstyle: make diff_pydocstyle_report
7577 py311-lintreadme: twine check {distdir}/*
7678
7779skip_install =
78- py3{6,7,8,9,10,11}-{bandit,lint,mypy,shellcheck,pydocstyle,lintreadme}: true
80+ py3{6,7,8,9,10,11,12 }-{bandit,lint,mypy,shellcheck,pydocstyle,lintreadme}: true
7981
8082allowlist_externals = make
0 commit comments