This avoids the need to duplicate our dependency list in multiple places and allows us to take advantage of tox's dependency management infrastructure, to ensure we always get the latest and greatest version of a package allowed by upper-constraints. It also removes the slowest pre-commit hook (by some distance), making pre-commit faster. While here, we also enable some more rules for ruff and configure hacking as an external linter. Change-Id: I47e34c34003273146e4afbef74385ca91fb28823 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
72 lines
1.5 KiB
INI
72 lines
1.5 KiB
INI
[tox]
|
|
minversion = 4.3.0
|
|
envlist = py3,pep8
|
|
|
|
[testenv]
|
|
description =
|
|
Run unit tests.
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
stestr run {posargs}
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:pep8]
|
|
description =
|
|
Run style checks.
|
|
deps =
|
|
pre-commit
|
|
{[testenv:mypy]deps}
|
|
commands =
|
|
pre-commit run -a
|
|
{[testenv:mypy]commands}
|
|
|
|
[testenv:mypy]
|
|
description =
|
|
Run type checks.
|
|
deps =
|
|
{[testenv]deps}
|
|
mypy
|
|
types-WebOb
|
|
commands =
|
|
mypy --cache-dir="{envdir}/mypy_cache" {posargs:microversion_parse}
|
|
|
|
[testenv:cover]
|
|
description =
|
|
Run unit tests and generate coverage report.
|
|
setenv =
|
|
PYTHON=coverage run --source microversion_parse --parallel-mode
|
|
commands =
|
|
coverage erase
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
|
|
[testenv:docs]
|
|
description =
|
|
Build documentation in HTML format.
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
rm -rf doc/build
|
|
sphinx-build -W --keep-going -b html -d doc/build/doctrees doc/source doc/build/html
|
|
whitelist_externals =
|
|
rm
|
|
|
|
[flake8]
|
|
# We only enable the hacking (H) checks
|
|
select = H
|
|
ignore = H405
|
|
exclude = .venv,.git,.tox,dist,*egg,*.egg-info,build,examples,doc
|
|
show-source = true
|
|
|
|
[hacking]
|
|
import_exceptions =
|
|
collections.abc
|
|
typing
|