flake8/tox.ini
Daniel Hahler 614e308661 Move flake8 config from tox.ini to setup.cfg
I was debugging some E203 issue, and then it took me some time to figure
out where flake8's own config would be - `tox.ini` is specific to tox in
general, and `setup.cfg` is a more canonical place.
2018-10-31 00:21:15 +01:00

149 lines
2.7 KiB
INI

[tox]
minversion=2.3.1
envlist = py27,py34,py35,py36,py37,flake8,linters,docs
[testenv]
deps =
mock>=2.0.0
pytest!=3.0.5
coverage
commands =
coverage run --parallel-mode -m pytest {posargs}
coverage combine
coverage report -m
[testenv:venv]
deps =
.
commands = {posargs}
# Dogfood our current master version
[testenv:dogfood]
basepython = python2.7
skip_install = true
deps =
wheel
flake8-colors
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
# Autoformatter
[testenv:black]
basepython = python3
skip_install = true
deps =
black
commands =
black -l 78 -N src/
# Linters
[testenv:flake8]
basepython = python3
skip_install = true
deps =
flake8
flake8-docstrings>=0.2.7
flake8-import-order>=0.9
pep8-naming
flake8-colors
commands =
flake8 src/flake8/ tests/ setup.py
[testenv:pylint]
basepython = python3
skip_install = true
deps =
pyflakes
pylint
commands =
pylint src/flake8
[testenv:doc8]
basepython = python3
skip_install = true
deps =
sphinx
doc8
commands =
doc8 docs/source/
[testenv:mypy]
basepython = python3
skip_install = true
deps =
mypy-lang
commands =
mypy flake8
[testenv:bandit]
basepython = python3
skip_install = true
deps =
bandit
commands =
bandit -r src/flake8/ -c .bandit.yml
[testenv:linters]
basepython = python3
skip_install = true
deps =
{[testenv:black]deps}
{[testenv:flake8]deps}
{[testenv:pylint]deps}
{[testenv:doc8]deps}
{[testenv:readme]deps}
{[testenv:bandit]deps}
commands =
{[testenv:black]commands}
{[testenv:flake8]commands}
{[testenv:pylint]commands}
{[testenv:doc8]commands}
{[testenv:readme]commands}
{[testenv:bandit]commands}
# Documentation
[testenv:docs]
basepython = python3
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]
basepython = python3
skip_install = true
changedir = docs/build/html
deps =
commands =
python -m http.server {posargs}
[testenv:readme]
basepython = python3
deps =
readme_renderer
commands =
python setup.py check -r -s
# Release tooling
[testenv:build]
basepython = python3
skip_install = true
deps =
wheel
setuptools
commands =
python setup.py -q sdist bdist_wheel
[testenv:release]
basepython = python3
skip_install = true
deps =
{[testenv:build]deps}
twine >= 1.5.0
commands =
{[testenv:build]commands}
twine upload --skip-existing dist/*