11[tox]
22envlist =
3- py3{9,10,11,12,13}-lint,
4- py3{9,10,11,12,13}-unit,
5- py3{9,10,11,12,13}-bandit,
6- py3{9,10,11,12,13}-mypy,
3+ py3{9,10,11,12,13,14 }-lint,
4+ py3{9,10,11,12,13,14 }-unit,
5+ py3{9,10,11,12,13,14 }-bandit,
6+ py3{9,10,11,12,13,14 }-mypy,
77 py312-lintreadme,
88 py312-pydocstyle
99
@@ -22,65 +22,66 @@ python =
2222 3.11: py311
2323 3.12: py312
2424 3.13: py313
25+ 3.14: py314
2526
2627[testenv]
2728skipsdist =
28- py3{9,10,11,12,13}-!{unit,mypy,lintreadme} = True
29+ py3{9,10,11,12,13,14 }-!{unit,mypy,lintreadme} = True
2930
3031description =
31- py3{9,10,11,12,13}-unit: Run the unit tests
32- py3{9,10,11,12,13}-lint: Lint the Python code
33- py3{9,10,11,12,13}-bandit: Search for common security issues
34- py3{9,10,11,12,13}-mypy: Check for type safety
35- py312 -pydocstyle: docstring style checker
36- py312 -lintreadme: Lint the README.rst->.md conversion
32+ py3{9,10,11,12,13,14 }-unit: Run the unit tests
33+ py3{9,10,11,12,13,14 }-lint: Lint the Python code
34+ py3{9,10,11,12,13,14 }-bandit: Search for common security issues
35+ py3{9,10,11,12,13,14 }-mypy: Check for type safety
36+ py313 -pydocstyle: docstring style checker
37+ py313 -lintreadme: Lint the README.rst->.md conversion
3738
3839passenv =
3940 CI
4041 GITHUB_*
4142
4243deps =
43- py3{9,10,11,12,13}-{unit,mypy}: -rrequirements.txt
44- py3{9,10,11,12,13}-{unit,mypy}: -rtest-requirements.txt
45- py3{9,10,11,12,13}-lint: flake8-bugbear
46- py3{9,10,11,12,13}-lint: black~=23.1
47- py3{9,10,11,12,13}-bandit: bandit
48- py3{9,10,11,12,13}-mypy: -rmypy-requirements.txt
44+ py3{9,10,11,12,13,14 }-{unit,mypy}: -rrequirements.txt
45+ py3{9,10,11,12,13,14 }-{unit,mypy}: -rtest-requirements.txt
46+ py3{9,10,11,12,13,14 }-lint: flake8-bugbear
47+ py3{9,10,11,12,13,14 }-lint: black~=23.1
48+ py3{9,10,11,12,13,14 }-bandit: bandit
49+ py3{9,10,11,12,13,14 }-mypy: -rmypy-requirements.txt
4950
5051set_env =
51- py3{9,10,11,12,13}-unit: LC_ALL = C.UTF-8
52+ py3{9,10,11,12,13,14 }-unit: LC_ALL = C.UTF-8
5253 COV_CORE_SOURCE =cwltest
5354 COV_CORE_CONFIG ={toxinidir}/.coveragerc
5455 COV_CORE_DATAFILE ={toxinidir}/.coverage.eager
5556
5657commands =
57- py3{9,10,11,12,13}-unit: python -m pip install -U pip setuptools wheel
58- py3{9,10,11,12,13}-unit: python -m pytest --cov --cov-config ={toxinidir}/.coveragerc --cov-append {posargs}
59- py3{9,10,11,12,13}-unit: coverage xml
60- py3{9,10,11,12,13}-bandit: bandit --recursive cwltest
61- py3{9,10,11,12,13}-lint: make flake8
62- py3{9,10,11,12,13}-lint: make format-check
63- py3{9,10,11,12,13}-mypy: make mypy
58+ py3{9,10,11,12,13,14 }-unit: python -m pip install -U pip setuptools wheel
59+ py3{9,10,11,12,13,14 }-unit: python -m pytest --cov --cov-config ={toxinidir}/.coveragerc --cov-append {posargs}
60+ py3{9,10,11,12,13,14 }-unit: coverage xml
61+ py3{9,10,11,12,13,14 }-bandit: bandit --recursive cwltest
62+ py3{9,10,11,12,13,14 }-lint: make flake8
63+ py3{9,10,11,12,13,14 }-lint: make format-check
64+ py3{9,10,11,12,13,14 }-mypy: make mypy
6465
6566allowlist_externals =
66- py3{9,10,11,12,13}-lint: flake8
67- py3{9,10,11,12,13}-lint: black
68- py3{9,10,11,12,13}-{mypy,shellcheck,lint,unit}: make
67+ py3{9,10,11,12,13,14 }-lint: flake8
68+ py3{9,10,11,12,13,14 }-lint: black
69+ py3{9,10,11,12,13,14 }-{mypy,shellcheck,lint,unit}: make
6970
7071skip_install =
71- py3{9,10,11,12,13}-lint: true
72- py3{9,10,11,12,13}-bandit: true
72+ py3{9,10,11,12,13,14 }-lint: true
73+ py3{9,10,11,12,13,14 }-bandit: true
7374
7475
75- [testenv:py312 -pydocstyle]
76+ [testenv:py313 -pydocstyle]
7677allowlist_externals = make
7778commands = make diff_pydocstyle_report
7879deps =
7980 pydocstyle
8081 diff-cover
8182skip_install = true
8283
83- [testenv:py312 -lintreadme]
84+ [testenv:py313 -lintreadme]
8485description = Lint the README.rst->.md conversion
8586commands =
8687 python -m build --outdir dist
0 commit comments