87 lines
1.5 KiB
INI
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/*
|