-
-
Notifications
You must be signed in to change notification settings - Fork 50
/
tox.ini
84 lines (79 loc) · 2.14 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
80
81
82
83
84
[tox]
minversion = 2.3.1
envlist = lint,packaging,docs,py
tox_pyenv_fallback = True
ignore_errors = False
isolated_build = True
[testenv]
sitepackages=False
passenv =
CURL_CA_BUNDLE # https proxies, https://github.com/tox-dev/tox/issues/1437
FORCE_COLOR
HOME
LANG
LC_ALL
LC_CTYPE
NO_COLOR
PYENV_VERSION
PYTEST_* # allows developer to define their own preferences
PYTEST_REQPASS # needed for CI
PY_*
PY_COLORS
REQUESTS_CA_BUNDLE # https proxies
RTD_TOKEN
RTOX*
SSH_AUTH_SOCK
SSL_CERT_FILE # https proxies
setenv =
COVERAGE_FILE={env:COVERAGE_FILE:{toxworkdir}/.coverage.{envname}}
COVERAGE_PROCESS_START={toxinidir}/pyproject.toml
commands=
coverage run -m pytest --color=yes --html={envlogdir}/report.html --self-contained-html
# --pyargs tendo
allowlist_externals =
sh
deps =
--editable .[test]
[testenv:coverage]
description = Combines and displays coverage results
commands =
sh -c "coverage combine .tox/.coverage.*"
# needed by codecov github actions:
coverage xml
# just for humans running it:
coverage report --skip-covered --fail-under=43
deps =
coverage[toml]>=6.5.0
[testenv:docs]
changedir=docs
commands=
sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
deps =
--editable .[docs]
[testenv:lint]
deps =
pre-commit>=3.3.3
commands=
python -m pre_commit run --all
[testenv:packaging]
description =
Build package, verify metadata, install package and assert behavior when ansible is missing.
deps =
build >= 0.7.0
twine
skip_install = true
# Ref: https://twitter.com/di_codes/status/1044358639081975813
commands =
# build wheel and sdist using PEP-517
{envpython} -c 'import os.path, shutil, sys; \
dist_dir = os.path.join("{toxinidir}", "dist"); \
os.path.isdir(dist_dir) or sys.exit(0); \
print("Removing \{!s\} contents...".format(dist_dir), file=sys.stderr); \
shutil.rmtree(dist_dir)'
{envpython} -m build \
--outdir {toxinidir}/dist/ \
{toxinidir}
# Validate metadata using twine
twine check --strict {toxinidir}/dist/*
# Install the wheel
sh -c "python3 -m pip install {toxinidir}/dist/*.whl"