releases/tox.ini
Dr. Jens Harbott e1375e0158 Update tox.ini for tox 4
The whitelist_externals option is deprecated and has been dropped in
tox 4, replace it with allowlist_externals.

Change-Id: I596be20e2db1bea39be23a9bbcd88afa4d3353eb
2023-03-07 16:38:31 +01:00

106 lines
3.1 KiB
INI

[tox]
minversion = 3.2.0
envlist = py3,validate,pep8,bashate,docs
skipsdist = True
ignore_basepython_conflict=true
# note(elod.illes): setuptools capping / pinning does not work as it is
# pinned inside virtualenv. So to cap / pin setuptools we need to do it
# via virtualenv. Virtualenv 20.13.3 is the last version that holds
# setuptools < 61.0.0
requires = virtualenv==20.13.3
[testenv]
usedevelop=True
passenv=
ZUUL_CACHE_DIR
HOME
setenv =
VIRTUAL_ENV={envdir}
PYTHONUNBUFFERED=1
LOGDIR={envdir}/log
TMPDIR={envdir}/tmp
PYTHON=coverage run --source openstack_releases --parallel-mode
OS_STDOUT_CAPTURE=1
OS_STDERR_CAPTURE=1
OS_DEBUG=1
OS_LOG_CAPTURE=1
basepython = python3
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report --show-missing
[testenv:validate]
deps =
yamllint==1.4.1
-r{toxinidir}/requirements.txt
commands =
{toxinidir}/tools/tox-log-command.sh {toxinidir}/tools/run_yamllint.sh
{toxinidir}/tools/tox-log-command.sh check-schema {posargs}
{toxinidir}/tools/tox-log-command.sh validate-request {posargs}
[testenv:list-changes]
commands =
{toxinidir}/tools/tox-log-command.sh list-changes {posargs}
[testenv:pep8]
commands = flake8
[testenv:bashate]
deps = bashate
allowlist_externals = bash
commands = bash -c "find {toxinidir} \
-not \( -type d -name .?\* -prune \) \
-type f \
-not -name \*~ \
-not -name \*.md \
-name \*.sh \
-print0 | xargs -0 bashate -i E006 -v"
[testenv:aclmanager]
commands = python {toxinidir}/tools/aclmanager.py {posargs}
[testenv:check_approval]
commands = python {toxinidir}/tools/check_approval.py {posargs}
[testenv:membership_freeze_test]
commands = python {toxinidir}/tools/membership_freeze_test.py {posargs}
[testenv:venv]
commands = {posargs}
[testenv:history]
commands = {toxinidir}/tools/build_tag_history.sh {toxinidir}
[testenv:docs]
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -v -a -E -W -j auto -d doc/build/doctrees -b html doc/source doc/build/html
whereto {toxinidir}/doc/build/html/.htaccess {toxinidir}/doc/build/redirect-tests.txt
[flake8]
# E123, E125 skipped as they are invalid PEP-8.
# E501 skipped because some of the code files include templates
# that end up quite wide
# W504 line break after binary operator skipped as it's just wrong
show-source = True
ignore = E123,E125,E501,W504
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,release-tag-*
[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files.
deps = bindep
commands = bindep test