6b17bc38d0
Using tox for requirements management requires in-repo requirements files for all our repositories. Rather than do that, we make use of the tests repo to capture our common requirements and use this to install them. This reduces our review requirement rate and simplifies maintenance for us for the tox config. It also makes it usable with 'Depends-On', which is marvellous! The tox requirements definitions for docs/releasenotes builds are left in-place as those are standard entries across the community. If that changes at some point, we can re-assess those entries too. Depends-On: https://review.openstack.org/579208 Change-Id: I13c1433377d8697162ac57122651a370c0971f6f
121 lines
2.5 KiB
INI
121 lines
2.5 KiB
INI
[tox]
|
|
minversion = 2.0
|
|
skipsdist = True
|
|
envlist = docs,linters,functional
|
|
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command =
|
|
pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
|
|
commands =
|
|
/usr/bin/find . -type f -name "*.pyc" -delete
|
|
passenv =
|
|
HOME
|
|
USER
|
|
http_proxy
|
|
HTTP_PROXY
|
|
https_proxy
|
|
HTTPS_PROXY
|
|
no_proxy
|
|
NO_PROXY
|
|
whitelist_externals =
|
|
bash
|
|
setenv =
|
|
PYTHONUNBUFFERED=1
|
|
ROLE_NAME=os_zun
|
|
TEST_IDEMPOTENCE=false
|
|
VIRTUAL_ENV={envdir}
|
|
WORKING_DIR={toxinidir}
|
|
|
|
|
|
[testenv:docs]
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands=
|
|
bash -c "rm -rf doc/build"
|
|
doc8 doc
|
|
sphinx-build -b html doc/source doc/build/html
|
|
|
|
|
|
[doc8]
|
|
# Settings for doc8:
|
|
extensions = .rst
|
|
|
|
|
|
[testenv:releasenotes]
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
|
|
# environment used by the -infra templated docs job
|
|
[testenv:venv]
|
|
commands =
|
|
{posargs}
|
|
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
bash -c "{toxinidir}/tests/common/test-pep8.sh"
|
|
|
|
|
|
[flake8]
|
|
# Ignores the following rules due to how ansible modules work in general
|
|
# F403 'from ansible.module_utils.basic import *' used;
|
|
# unable to detect undefined names
|
|
ignore=F403
|
|
|
|
|
|
[testenv:bashate]
|
|
commands =
|
|
bash -c "{toxinidir}/tests/common/test-bashate.sh"
|
|
|
|
|
|
[testenv:ansible-syntax]
|
|
commands =
|
|
bash -c "{toxinidir}/tests/common/test-ansible-syntax.sh"
|
|
|
|
|
|
[testenv:ansible-lint]
|
|
commands =
|
|
bash -c "{toxinidir}/tests/common/test-ansible-lint.sh"
|
|
|
|
|
|
[testenv:functional]
|
|
commands =
|
|
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
|
|
|
|
|
|
[testenv:upgrade]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
TEST_PLAYBOOK={toxinidir}/tests/test-upgrade.yml
|
|
CLONE_UPGRADE_TESTS=yes
|
|
commands =
|
|
bash -c "{toxinidir}/tests/test-zun-upgrades.sh"
|
|
|
|
|
|
[testenv:func_lxd]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
ANSIBLE_OVERRIDES={toxinidir}/tests/os_zun-overrides-lxd.yml
|
|
commands =
|
|
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
|
|
|
|
|
|
[testenv:ssl]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
ANSIBLE_PARAMETERS=-vvv -e galera_use_ssl=True
|
|
commands =
|
|
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
|
|
|
|
|
|
[testenv:linters]
|
|
commands =
|
|
bash -c "{toxinidir}/tests/common/test-ansible-env-prep.sh"
|
|
{[testenv:pep8]commands}
|
|
{[testenv:bashate]commands}
|
|
{[testenv:ansible-lint]commands}
|
|
{[testenv:ansible-syntax]commands}
|