zuul-client/tox.ini
James E. Blair 21382fb18a Switch to nox
Like Zuul, replace our usage of tox with nox.

Change-Id: I501fb8a25872072727a24f3cd741fd54808495ed
2022-12-29 18:57:02 +00:00

69 lines
1.7 KiB
INI

[tox]
minversion = 3.2
skipsdist = True
envlist = linters,py3{-docker}
ignore_basepython_conflict = True
[testenv]
basepython = python3
setenv =
VIRTUAL_ENV={envdir}
OS_TEST_TIMEOUT=360
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:1}
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:1}
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:1}
passenv =
OS_LOG_CAPTURE
OS_LOG_DEFAULTS
OS_STDERR_CAPTURE
OS_STDOUT_CAPTURE
usedevelop = True
whitelist_externals =
bash
rm
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
bash -c 'stestr run --slowest --concurrency=`python -c "import multiprocessing; print(int(multiprocessing.cpu_count()/2))"` {posargs}'
[testenv:linters]
usedevelop = False
install_command = pip install {opts} {packages}
# --ignore-missing-imports tells mypy to not try to follow imported modules
# out of the current tree. As you might expect, we don't want to run static
# type checking on the world - just on ourselves.
deps =
flake8
mypy<0.790
twine>=3.3.0
commands =
flake8 {posargs}
mypy --ignore-missing-imports zuulclient
# metadata validation
rm -rfv {toxinidir}/dist/
python setup.py sdist bdist_wheel
twine check --strict {toxinidir}/dist/*
[testenv:cover]
setenv =
{[testenv]setenv}
PYTHON=coverage run --source zuulclient --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:docs]
usedevelop = True
install_command = pip install {opts} {packages}
deps =
-r{toxinidir}/doc/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
sphinx-build -E -W -d doc/build/doctrees -b html doc/source/ doc/build/html
[testenv:venv]
commands = {posargs}