-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
79 lines (73 loc) · 1.59 KB
/
tox.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
[testenv]
description = perform primary checks (tests, style, types, coverage)
deps =
setenv =
PYTHONWARNDEFAULTENCODING = 1
commands =
pytest {posargs} tests
usedevelop = True
extras =
testing
[testenv:generator]
description = run the generator tests
deps =
{[testenv]deps}
commands =
pytest {posargs} generator
extras =
testing
generator
allowlist_externals =
pytest
[testenv:diffcov]
description = run tests and check that diff from main is covered
deps =
{[testenv]deps}
diff-cover
commands =
pytest {posargs} --cov-report xml
diff-cover coverage.xml --compare-branch=origin/main --html-report diffcov.html
diff-cover coverage.xml --compare-branch=origin/main --fail-under=100
extras =
testing
generator
allowlist_externals =
diff-cover
pytest
[testenv:docs]
description = build the documentation
extras =
docs
testing
changedir = docs
commands =
python -m sphinx -W --keep-going . {toxinidir}/build/html
python -m sphinxlint \
# workaround for sphinx-contrib/sphinx-lint#83
--jobs 1
[testenv:finalize]
description = assemble changelog and tag a release
skip_install = True
deps =
towncrier
jaraco.develop >= 7.23
pass_env = *
commands =
python -m jaraco.develop.finalize
[testenv:release]
description = publish the package to PyPI and GitHub
skip_install = True
deps =
build
twine>=3
jaraco.develop>=7.1
pass_env =
TWINE_PASSWORD
GITHUB_TOKEN
setenv =
TWINE_USERNAME = {env:TWINE_USERNAME:__token__}
commands =
python -c "import shutil; shutil.rmtree('dist', ignore_errors=True)"
python -m build
python -m twine upload dist/*
python -m jaraco.develop.create-github-release