releases/tox.ini
Doug Hellmann 6fca7a1f07 move deliverable schema checking into its own command
We've run into problems because we weren't maintaining older
deliverable files as we extended the schema. This change moves schema
validation out of the main validation command so it runs as a separate
step and processes all deliverable files by default. The more complex
validation rules are still only checked for files being modified in a
given commit.

Change-Id: I4b69ca3c59da6606cf2b27d05c8846223d52998a
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-02-21 16:23:11 -05:00

86 lines
2.5 KiB
INI

[tox]
minversion = 1.6
envlist = py35,validate,pep8,bashate,docs
skipdist = True
[testenv]
usedevelop=True
passenv=
ZUUL_CACHE_DIR
HOME
install_command = pip install -U {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
PYTHONUNBUFFERED=1
LOGDIR={envdir}/log
basepython = python3
deps = -r{toxinidir}/test-requirements.txt
commands =
python setup.py testr --coverage --testr-args='{posargs}'
coverage report --show-missing
[testenv:validate]
deps =
yamllint==1.4.1
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 -v"
[testenv:aclmanager]
commands = python {toxinidir}/tools/aclmanager.py {posargs}
[testenv:venv]
deps = .[sphinxext]
commands = {posargs}
[testenv:history]
commands = {toxinidir}/tools/build_tag_history.sh {toxinidir}
[testenv:cover]
#commands = python setup.py testr --coverage --testr-args='{posargs}'
[testenv:docs]
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
whereto {toxinidir}/doc/source/_extra/.htaccess {toxinidir}/doc/test/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
show-source = True
ignore = E123,E125,E501,H405
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