@@ -11,31 +11,43 @@ labels =
1111 prep-release =prep-release
1212
1313[testenv]
14+ description = Test the code on Python {py_dot_ver}
1415package = wheel
1516wheel_build_env = build_wheel
1617depends =
1718 py{3.14, 3.13, 3.12, 3.11, 3.10}: coverage-erase
1819deps = -r requirements/test/requirements.txt
1920commands = coverage run -m pytest {posargs}
2021
21- [testenv:coverage-erase]
22+ [testenv:coverage-base]
23+ description = Base config for coverage-* environments
2224deps = -r requirements/test/requirements-coverage.txt
2325skip_install = true
26+
27+ [testenv:coverage-erase]
28+ description = Erase coverage data files
29+ base = coverage-base
2430commands =
2531 coverage erase
2632
27- [testenv:coverage-report{,-ci}]
33+ [testenv:coverage-report]
34+ description = Display a coverage report and verify the fail-under value
35+ base = coverage-base
2836depends = py{3.14, 3.13, 3.12, 3.11, 3.10}
29- deps = -r requirements/test/requirements-coverage.txt
30- skip_install = true
3137commands_pre =
3238 - coverage combine
3339commands =
3440 coverage report
35- commands_post =
36- !ci: coverage html --fail-under =0
41+
42+ [testenv:coverage-html]
43+ description = Create an HTML coverage report
44+ base = coverage-base
45+ depends = py{3.14, 3.13, 3.12, 3.11, 3.10}, coverage-report
46+ commands =
47+ coverage html --fail-under =0
3748
3849[testenv:build]
50+ description = Test building the project
3951base_python = py3.13
4052skip_install = true
4153deps =
@@ -47,34 +59,37 @@ commands =
4759 twine check --strict dist/*
4860
4961[testenv:mypy-py{3.14, 3.13, 3.12, 3.11, 3.10}]
62+ description = Test type annotations on Python {py_dot_ver}
5063deps = -rrequirements/mypy/requirements.txt
5164setenv =
5265 MYPY_FORCE_COLOR =1
5366commands = mypy {posargs}
5467
5568[testenv:docs]
69+ description = Test building the documentation
5670base_python = py3.13
5771skip_install = true
5872deps = -rrequirements/docs/requirements.txt
5973commands =
6074 sphinx-build -aWEnqb html docs/ build/docs
6175
62- [testenv:update_base]
76+ [testenv:update-base]
77+ description = Base settings for update-* environments
6378base_python = py3.13
6479recreate = true
6580skip_install = true
6681
6782[testenv:update-headers]
68- base = update_base
6983description = Update headers
84+ base = update-base
7085deps =
7186 chipshot
7287commands =
7388 chipshot --update assets/ docs/ src/ tests/ requirements/README.rst CHANGELOG.rst README.rst
7489
7590[testenv:update-pre-commit]
76- base = update_base
7791description = Update pre-commit hooks
92+ base = update-base
7893deps =
7994 pre-commit
8095 upadup
@@ -83,8 +98,8 @@ commands =
8398 upadup
8499
85100[testenv:update-requirements]
86- base = update_base
87101description = Update requirements files
102+ base = update-base
88103deps =
89104 poetry
90105 poetry-plugin-export
0 commit comments