@@ -8,14 +8,16 @@ labels =
8
8
ci = py, py-format, py-json5, py-json5-format, py-pyjson5, py-pyjson5-format, py-tomli, py-tomli-format, coverage
9
9
10
10
envlist =
11
- cov-{clean,combine,report}
11
+ cov_clean
12
12
py{311,310,39,38,37}
13
13
py{37,310}-{tomli}{,-format}
14
14
py{37,311}-{json5,pyjson5}
15
+ cov
15
16
skip_missing_interpreters = true
16
- minversion = 3 .0.0
17
+ minversion = 4 .0.0
17
18
18
19
[testenv]
20
+ description = " run tests with pytest"
19
21
usedevelop = true
20
22
extras = dev
21
23
deps =
@@ -25,25 +27,31 @@ deps =
25
27
format: jsonschema[format]
26
28
commands = coverage run -m pytest {posargs}
27
29
depends =
28
- py{,37,38,39,310,311}{,-json5,-pyjson5,-tomli}: coverage-clean
29
- coverage : py{,37,38,39,310,311}{,-json5,-pyjson5,-tomli}
30
+ py{,37,38,39,310,311}{,-json5,-pyjson5,-tomli}: cov_clean
31
+ cov : py{,37,38,39,310,311}{,-json5,-pyjson5,-tomli}
30
32
31
- [testenv:coverage{,-clean}]
33
+ [testenv:cov_clean]
34
+ description = " erase coverage data to prepare for a new run"
32
35
deps = coverage
33
36
skip_install = true
34
- commands_pre =
35
- !clean: coverage combine
36
- commands =
37
- clean: coverage erase
38
- !clean: coverage report --skip-covered
37
+ commands = coverage erase
38
+
39
+ [testenv:cov]
40
+ description = " combine and report coverage data"
41
+ deps = coverage
42
+ skip_install = true
43
+ commands_pre = coverage combine
44
+ commands = coverage report --skip-covered
39
45
40
46
[testenv:mypy]
47
+ description = " check type annotations with mypy"
41
48
deps = mypy
42
49
types-jsonschema
43
50
types-requests
44
51
commands = mypy src/ {posargs}
45
52
46
53
[testenv:docs]
54
+ description = " build docs with sphinx"
47
55
basepython = python3.10
48
56
extras = docs
49
57
allowlist_externals = rm
@@ -53,6 +61,7 @@ commands_pre = rm -rf _build/
53
61
commands = sphinx-build -d _build/doctrees -b dirhtml -W . _build/dirhtml {posargs}
54
62
55
63
[testenv:twine-check]
64
+ description = " check the metadata on a package build"
56
65
skip_install = true
57
66
deps = twine
58
67
build
@@ -63,13 +72,16 @@ commands = python -m build
63
72
twine check dist/*
64
73
65
74
[testenv:vendor-schemas]
75
+ description = " update the vendored schemas"
66
76
deps = pre-commit
67
77
commands = python ./scripts/vendor-schemas.py
68
78
69
79
[testenv:generate-hooks-config]
80
+ description = " update autogenerated pre-commit hooks"
70
81
commands = python ./scripts/generate-hooks-config.py
71
82
72
83
[testenv:publish-release]
84
+ description = " build and publish to pypi"
73
85
skip_install = true
74
86
deps = twine
75
87
build
0 commit comments