forked from PyCQA/flake8
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
142 lines (128 loc) · 2.79 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
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
[tox]
minversion=2.3.1
envlist = py36,py37,py38,flake8,linters,docs
[testenv]
deps =
pytest!=3.0.5,!=5.2.3
coverage
commands =
coverage run -m pytest {posargs}
coverage combine
coverage report
# ensure 100% coverage of tests
coverage report --fail-under 100 --include tests/*
# Dogfood our current master version
[testenv:dogfood]
skip_install = true
deps =
wheel
commands =
python setup.py -qq bdist_wheel
pip install --force-reinstall -U --pre --find-links ./dist/ flake8
flake8 --version
flake8 src/flake8/ tests/ setup.py
# Linters
[testenv:flake8]
skip_install = true
deps =
flake8
flake8-bugbear
flake8-docstrings>=1.3.1
flake8-typing-imports>=1.1
pep8-naming
commands =
flake8 src/flake8/ tests/ setup.py
[testenv:pylint]
skip_install = true
deps =
pyflakes
pylint!=2.5.0
commands =
pylint src/flake8
[testenv:doc8]
skip_install = true
deps =
sphinx
doc8
commands =
doc8 docs/source/
[testenv:pre-commit]
skip_install = true
deps = pre-commit
commands =
pre-commit run --all-files --show-diff-on-failure
[testenv:bandit]
skip_install = true
deps =
bandit
commands =
bandit -r src/flake8/ -c .bandit.yml
[testenv:linters]
skip_install = true
deps =
{[testenv:flake8]deps}
{[testenv:pylint]deps}
{[testenv:doc8]deps}
{[testenv:readme]deps}
{[testenv:bandit]deps}
commands =
{[testenv:flake8]commands}
{[testenv:pylint]commands}
{[testenv:doc8]commands}
{[testenv:readme]commands}
{[testenv:bandit]commands}
# Documentation
[testenv:docs]
deps =
-rdocs/source/requirements.txt
commands =
sphinx-build -E -W -c docs/source/ -b html docs/source/ docs/build/html
sphinx-build -E -W -c docs/source/ -b man docs/source/ docs/build/man
[testenv:serve-docs]
skip_install = true
changedir = docs/build/html
deps =
commands =
python -m http.server {posargs}
[testenv:readme]
deps =
readme_renderer
commands =
python setup.py check -r -s
# Release tooling
[testenv:build]
skip_install = true
deps =
wheel
setuptools
commands =
python setup.py -q sdist bdist_wheel
[testenv:release]
skip_install = true
deps =
{[testenv:build]deps}
twine >= 1.5.0
commands =
{[testenv:build]commands}
twine upload --skip-existing dist/*
# Flake8 Configuration
[flake8]
# Ignore some flake8-docstrings errors
# NOTE(sigmavirus24): While we're still using flake8 2.x, this ignore line
# defaults to selecting all other errors so we do not need select=E,F,W,I,D
# Once Flake8 3.0 is released and in a good state, we can use both and it will
# work well \o/
ignore = D203, W503, E203
exclude =
.tox,
.git,
__pycache__,
docs/source/conf.py,
build,
dist,
tests/fixtures/*,
*.pyc,
*.egg-info,
.cache,
.eggs
max-complexity = 10