-
-
Notifications
You must be signed in to change notification settings - Fork 48
/
tox.ini
78 lines (71 loc) · 1.98 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
# flake8 doesn't believe in pyproject.toml, so we keep the configuration here.
[flake8]
# https://flake8.readthedocs.org/en/latest/
exclude=\
venv*/*,\
local/*,\
.tox/*
max-line-length = 119
extend-ignore =
# whitespace before :
# See https://github.com/PyCQA/pycodestyle/issues/373
E203,
[tox]
envlist = towncrier-check,docs{,-lint,-all},py{38,39,310,311,312}
skip_missing_interpreters = true
[testenv]
extras =
dev
allowlist_externals =
make
commands =
make -C tests/objc
pytest -vv -- {posargs}
[testenv:towncrier-check]
package_env = none
skip_install = True
deps =
{[testenv:towncrier]deps}
commands =
python -m towncrier.check --compare-with origin/main
[testenv:towncrier]
deps =
towncrier ~= 22.8
commands =
towncrier {posargs}
[docs]
build_dir = _build
# -W: make warnings into errors
# --keep-going: continue on errors
# -j: run with multiple processes
# -n: nitpick mode
sphinx_args = -W --keep-going -j auto -n
# -v: verbose logging
# -E: force rebuild of environment
# -T: print traceback on error
# -a: read/parse all files
# -d: use tox's temp dir for caching
sphinx_args_extra = {[docs]sphinx_args} -v -E -T -a -d {envtmpdir}/doctrees
[testenv:docs{,-lint,-all}]
change_dir = docs
passenv =
# On macOS M1, you need to manually set the location of the PyEnchant
# library:
# export PYENCHANT_LIBRARY_PATH=/opt/homebrew/lib/libenchant-2.2.dylib
PYENCHANT_LIBRARY_PATH
extras =
docs
commands =
!lint-!all : python -m sphinx {[docs]sphinx_args} -b html . {[docs]build_dir}/html
lint : python -m sphinx {[docs]sphinx_args_extra} -b linkcheck . {[docs]build_dir}/links
lint : python -m sphinx {[docs]sphinx_args_extra} -b spelling . {[docs]build_dir}/spell
all : python -m sphinx {[docs]sphinx_args_extra} -b html . {[docs]build_dir}/html
[testenv:package]
package_env = none
skip_install = True
deps =
build==1.0.3
twine==4.0.2
commands =
python -m build --outdir dist/ .
python -m twine check dist/*