11[tox]
22envlist =
3- py{36,37,38,39,310}-lint,
4- py{36,37,38,39,310}-unit,
5- py{36,37,38,39,310}-bandit,
6- py{37,38,39,310}-mypy,
7- py310 -lint-readme,
8- py310 -pydocstyle
3+ py{36,37,38,39,310,311 }-lint,
4+ py{36,37,38,39,310,311 }-unit,
5+ py{36,37,38,39,310,311 }-bandit,
6+ py{37,38,39,310,311 }-mypy,
7+ py311 -lint-readme,
8+ py311 -pydocstyle
99
1010skip_missing_interpreters = True
1111
@@ -19,60 +19,61 @@ python =
1919 3.8: py38
2020 3.9: py39
2121 3.10: py310
22+ 3.11: py311
2223
2324[testenv]
2425description =
25- py{36,37,38,39,310}-unit: Run the unit tests
26- py{36,37,38,39,310}-lint: Lint the Python code
27- py{36,37,38,39,310}-bandit: Search for common security issues
28- py{37,38,39,310}-mypy: Check for type safety
29- py310 -pydocstyle: docstring style checker
30- py310 -lint-readme: Lint the README.rst->.md conversion
26+ py{36,37,38,39,310,311 }-unit: Run the unit tests
27+ py{36,37,38,39,310,311 }-lint: Lint the Python code
28+ py{36,37,38,39,310,311 }-bandit: Search for common security issues
29+ py{37,38,39,310,311 }-mypy: Check for type safety
30+ py311 -pydocstyle: docstring style checker
31+ py311 -lint-readme: Lint the README.rst->.md conversion
3132
3233passenv =
3334 CI
3435 GITHUB_*
3536deps =
36- py{36,37,38,39,310}-{unit,mypy}: -rrequirements.txt
37- py{36,37,38,39,310}-{unit,mypy}: -rtest-requirements.txt
38- py{36,37,38,39,310}-lint: flake8-bugbear
39- py{36,37,38,39,310}-lint: black
40- py{36,37,38,39,310}-bandit: bandit
41- py{36, 37,38,39,310}-mypy: -rmypy-requirements.txt
37+ py{36,37,38,39,310,311 }-{unit,mypy}: -rrequirements.txt
38+ py{36,37,38,39,310,311 }-{unit,mypy}: -rtest-requirements.txt
39+ py{36,37,38,39,310,311 }-lint: flake8-bugbear
40+ py{36,37,38,39,310,311 }-lint: black
41+ py{36,37,38,39,310,311 }-bandit: bandit
42+ py{37,38,39,310,311 }-mypy: -rmypy-requirements.txt
4243
4344setenv =
44- py{36,37,38,39,310}-unit: LC_ALL = C.UTF-8
45+ py{36,37,38,39,310,311 }-unit: LC_ALL = C.UTF-8
4546
4647commands =
47- py{36,37,38,39,310}-unit: python -m pip install -U pip setuptools wheel
48- py{36,37,38,39,310}-unit: make coverage-report coverage.xml PYTEST_EXTRA ={posargs}
49- py{36,37,38,39,310}-bandit: bandit --recursive cwl_utils
50- py{36,37,38,39,310}-lint: make flake8
51- py{36,37,38,39,310}-lint: make format-check
52- py{37,38,39,310}-mypy: make mypy
48+ py{36,37,38,39,310,311 }-unit: python -m pip install -U pip setuptools wheel
49+ py{36,37,38,39,310,311 }-unit: make coverage-report coverage.xml PYTEST_EXTRA ={posargs}
50+ py{36,37,38,39,310,311 }-bandit: bandit --recursive cwl_utils
51+ py{36,37,38,39,310,311 }-lint: make flake8
52+ py{36,37,38,39,310,311 }-lint: make format-check
53+ py{37,38,39,310,311 }-mypy: make mypy
5354 py37-mypy: make mypy_3.6
5455
5556whitelist_externals =
56- py{36,37,38,39,310}-lint: flake8
57- py{36,37,38,39,310}-lint: black
58- py{36,37,38,39,310}-{mypy,shellcheck,lint,unit}: make
57+ py{36,37,38,39,310,311 }-lint: flake8
58+ py{36,37,38,39,310,311 }-lint: black
59+ py{36,37,38,39,310,311 }-{mypy,shellcheck,lint,unit}: make
5960
6061skip_install =
61- py{36,37,38,39,310}-lint: true
62- py{36,37,38,39,310}-bandit: true
62+ py{36,37,38,39,310,311 }-lint: true
63+ py{36,37,38,39,310,311 }-bandit: true
6364
6465extras =
65- py{36,37,38,39,310}-unit: pretty
66+ py{36,37,38,39,310,311 }-unit: pretty
6667
67- [testenv:py310 -pydocstyle]
68+ [testenv:py311 -pydocstyle]
6869whitelist_externals = make
6970commands = make diff_pydocstyle_report
7071deps =
7172 pydocstyle
7273 diff-cover
7374skip_install = true
7475
75- [testenv:py310 -lint-readme]
76+ [testenv:py311 -lint-readme]
7677description = Lint the README.rst->.md conversion
7778commands =
7879 python setup.py sdist
@@ -81,3 +82,5 @@ commands =
8182deps =
8283 twine
8384 wheel
85+ readme_renderer[md]
86+ skip_install = true
0 commit comments