summaryrefslogtreecommitdiffstats
path: root/tox.ini
blob: 834e8e78a676fe7f3fc087edd289d77281423dfb (plain)
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
[tox]
minversion = 2.4.0
envlist = docs,flake8,mypy,twine,py{36,37,38,39,310,311},du{14,15,16,17,18,19}
isolated_build = True

[testenv]
usedevelop = True
passenv =
    https_proxy
    http_proxy
    no_proxy
    COLORTERM
    PERL
    PERL5LIB
    PYTEST_ADDOPTS
    DO_EPUBCHECK
    EPUBCHECK_PATH
    TERM
description =
    py{36,37,38,39,310,311}: Run unit tests against {envname}.
    du{14,15,16,17,18,19}: Run unit tests with the given version of docutils.
deps =
    du14: docutils==0.14.*
    du15: docutils==0.15.*
    du16: docutils==0.16.*
    du17: docutils==0.17.*
    du18: docutils==0.18.*
    du19: docutils==0.19.*
extras =
    test
setenv =
    PYTHONWARNINGS = all
    PYTEST_ADDOPTS = {env:PYTEST_ADDOPTS:} --color yes
commands=
    python -X dev -X warn_default_encoding -m pytest --durations 25 {posargs}

[testenv:du-latest]
commands =
    python -m pip install "git+https://repo.or.cz/docutils.git#subdirectory=docutils" --no-warn-conflicts
    {[testenv]commands}

[testenv:flake8]
basepython = python3
description =
    Run style checks.
whitelist_externals =
    flake8
extras =
    lint
commands =
    flake8 {posargs}

[testenv:isort]
basepython = python3
description =
    Run import sorting checks.
whitelist_externals =
    isort
extras =
    lint
commands =
    isort --check-only --diff .

[testenv:mypy]
basepython = python3
description =
    Run type checks.
extras =
    lint
commands=
    mypy sphinx/

[testenv:docs]
basepython = python3
description =
    Build documentation.
extras =
    docs
commands =
    python -X dev -X warn_default_encoding -m sphinx -M html ./doc ./build/sphinx -W --keep-going

[testenv:docslint]
basepython = python3
description =
    Lint documentation.
extras =
    lint
commands =
    sphinx-lint --enable line-too-long --max-line-length 85 CHANGES CONTRIBUTING.rst README.rst doc/

[testenv:docs-live]
basepython = python3
description =
    Build documentation.
extras =
    docs
deps =
    sphinx-autobuild
commands =
    sphinx-autobuild ./doc ./build/sphinx/

[testenv:twine]
basepython = python3
description =
    Lint package.
deps =
    twine
    build
commands =
    python -m build .
    twine check dist/*

[testenv:bindep]
description =
    Install binary dependencies.
deps =
    bindep
commands =
    bindep test