flat-tree/tox.ini
2019-07-01 18:09:49 +02:00

87 lines
1.5 KiB
INI

[tox]
envlist =
{py36,py37}-test
lint
sort
format
type
docs
changelog
metadata-release
skip_missing_interpreters = True
isolated_build = True
[testenv]
description = run the unit tests
deps =
pytest
pytest-cov
pytest-mock
commands =
pytest test/ --cov={toxinidir}/flat_tree/ --no-cov-on-fail {posargs}
[testenv:lint]
description = lint the source
skipdist = True
deps =
flake8
commands =
flake8 {posargs} flat_tree/ test/
[testenv:sort]
description = sort the source
skipdist = True
deps =
isort
commands =
isort {posargs:-rc -c} -sp setup.cfg flat_tree/ test/
[testenv:format]
description = format the source
skipdist = True
basepython = python3.6
deps =
black
commands =
black {posargs:--check} flat_tree/ test/
[testenv:type]
description = type check the source
basepython = python3.7
skipdist = True
deps =
mypy
commands =
mypy flat_tree/ test/
[testenv:docs]
description = build the documentation
deps =
sphinx
sphinx-autodoc-typehints >= 1.6.0, < 2.0
commands =
python -m setup build_sphinx
[testenv:changelog]
description = draft the changelog
skipdist = True
deps =
towncrier
commands =
towncrier --draft
[testenv:metadata-release]
description = validate the package metadata
deps =
twine
commands =
twine check .tox/dist/*
[testenv:release]
description = make a release
deps =
{[testenv:metadata-release]deps}
commands =
python -m setup sdist bdist_wheel
twine upload {toxworkdir}/dist/*