-
-
Notifications
You must be signed in to change notification settings - Fork 13
/
tox.ini
55 lines (50 loc) · 1.91 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
# Flake8 doesn't believe in pyproject.toml, so we put the configuration here.
[flake8]
# https://flake8.readthedocs.org/en/latest/
exclude=\
local/*,\
.tox/*,\
venv*/*
max-line-length = 119
extend-ignore =
# whitespace before :
# See https://github.com/PyCQA/pycodestyle/issues/373
E203,
[tox]
envlist = towncrier-check,docs{,-lint,-all},package,py{38,39,310,311,312}
skip_missing_interpreters = true
[testenv]
extras =
dev
commands =
python -m pytest {posargs:-vv --color yes}
[testenv:towncrier{,-check}]
skip_install = True
deps =
towncrier==24.8.0
commands =
check : python -m towncrier.check --compare-with origin/main
!check : python -m towncrier {posargs}
[docs]
docs_dir = {tox_root}{/}docs
build_dir = {[docs]docs_dir}{/}_build
sphinx_args = --show-traceback --fail-on-warning --keep-going --jobs auto
[testenv:docs{,-lint,-all,-live}]
# Docs are always built on Python 3.12. See also the RTD config.
base_python = py312
# give sphinx-autobuild time to shutdown http server
suicide_timeout = 1
package = wheel
wheel_build_env = .pkg
extras = 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
commands =
!lint-!all-!live : python -m sphinx {[docs]sphinx_args} {posargs} --builder html {[docs]docs_dir} {[docs]build_dir}{/}html
lint : python -m sphinx {[docs]sphinx_args} {posargs} --builder spelling {[docs]docs_dir} {[docs]build_dir}{/}spell
lint : python -m sphinx {[docs]sphinx_args} {posargs} --builder linkcheck {[docs]docs_dir} {[docs]build_dir}{/}links
all : python -m sphinx {[docs]sphinx_args} {posargs} --verbose --write-all --fresh-env --builder html {[docs]docs_dir} {[docs]build_dir}{/}html
live : sphinx-autobuild {[docs]sphinx_args} {posargs} --builder html {[docs]docs_dir} {[docs]build_dir}{/}live