13cc92a1b6
The latest setuptools releases (>=61.0.0) broke the build of some packages that have multiple top-level packages discovered in a flat-layout. To be able to release Yoga, this patch pins the old setuptools for our validator script. This needs to be done via pinning virtualenv because it bundles setuptools as well. Change-Id: Ia8963bd49f0c898ee1b7219193d28f4af0a868ee
106 lines
3.1 KiB
INI
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
|
|
whitelist_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
|