Files
microversion-parse/tox.ini
Stephen Finucane 7f3b2aba31 Run mypy from tox
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>
2026-03-06 16:49:33 +00:00

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