8434951b7c
When update-test-platforms.py autogenerates parts that are checked into git and the generated and commited content is different the CI error is hard to understand. Make it explicit what caused this. Output the diff, so one can see the difference. Change-Id: Ib9751c6ad6dc55514177934e0db327c5d08b74eb
90 lines
2.8 KiB
INI
90 lines
2.8 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
envlist = linters
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
install_command = pip install {opts} {packages}
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = stestr run {posargs}
|
|
stestr slowest
|
|
|
|
[testenv:py27]
|
|
deps =
|
|
-r{toxinidir}/test-requirements.txt
|
|
-c{toxinidir}/test-constraints.txt
|
|
basepython = python2.7
|
|
|
|
[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
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -E -W -d doc/build/doctrees -b html doc/source/ doc/build/html
|
|
|
|
[testenv:linters]
|
|
passenv =
|
|
# NOTE(pabelanger): if you'd like to run tox -elinters locally, you'll need
|
|
# to export ANSIBLE_ROLES_PATH pointing to the currect repos.
|
|
# see openstack-zuul-jobs-linters job for more information.
|
|
ANSIBLE_ROLES_PATH
|
|
setenv =
|
|
ANSIBLE_LIBRARY= {toxinidir}/tests/fake-ansible
|
|
whitelist_externals = bash
|
|
deps =
|
|
-r{toxinidir}/linters-requirements.txt
|
|
|
|
commands =
|
|
flake8 {posargs}
|
|
yamllint -s -f parsable .
|
|
python -m ansiblelint --version
|
|
python -m ansiblelint {env:ANSIBLELINT_OPTS:--progressive}
|
|
# Ansible Syntax Check
|
|
bash -c "find playbooks -type f -regex '.*.ya?ml' ! -regex '.*vars\/.*' -exec \
|
|
ansible-playbook --syntax-check -i {toxinidir}/tests/inventory \{\} + > /dev/null"
|
|
{toxinidir}/tools/check_jobs_documented.py
|
|
{toxinidir}/tools/update-test-platforms.py
|
|
bash -c "(( $(find playbooks -name *.yml | wc -l) == 0)) || \{ echo 'Use .yaml'; exit 1; \}"
|
|
bash -c "(( $(find roles -name *.yml | wc -l) == 0)) || \{ echo 'Use .yaml'; exit 1; \}"
|
|
bash -c "git diff; git diff --quiet || \{ git status; echo 'ERROR: The commited content and the via update-test-platforms.py autogenerated content differ. Make sure these are the same.'; exit 1; \}"
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[flake8]
|
|
# These are ignored intentionally in Zuul projects;
|
|
# please don't submit patches that solely correct them or enable them.
|
|
# E402 - ansible modules put documentation before imports. Align to ansible.
|
|
# W504 - line break after binary operator, we cannot have both
|
|
# W503 and W504 enabled
|
|
ignore = E124,E125,E129,E252,E402,E741,W503,W504,H
|
|
show-source = True
|
|
exclude =
|
|
.cache,
|
|
.venv,
|
|
.tox,
|
|
dist,
|
|
doc,
|
|
build,
|
|
*.egg,
|
|
# vendored files
|
|
roles/use-buildset-registry/module_utils/pytoml.py,
|
|
roles/use-buildset-registry/module_utils/remarshal.py
|
|
|
|
[testenv:update-test-platforms]
|
|
basepython = python3
|
|
deps =
|
|
ruamel.yaml>=0.16.7
|
|
commands =
|
|
python ./tools/update-test-platforms.py
|