d6aa858383
The openstack-ansible-linters job runs the linters tox environment - and the docs jobs runs the docs environment. Remove the docs jobs from the linters environment, there's no need to run the docs jobs in both linters and docs environment, it just wastes resources. Change-Id: If9b188520fd2d55d4d2e70542c77cf0aa1614443
174 lines
4.1 KiB
INI
174 lines
4.1 KiB
INI
[tox]
|
|
minversion = 2.0
|
|
skipsdist = True
|
|
envlist = linters,docs,releasenotes,inventory,py3-inventory
|
|
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
basepython = python2.7
|
|
install_command =
|
|
pip install -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/upper-constraints.txt} {opts} {packages}
|
|
deps =
|
|
-r{toxinidir}/global-requirement-pins.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
passenv =
|
|
COMMON_TESTS_PATH
|
|
HOME
|
|
http_proxy
|
|
HTTP_PROXY
|
|
https_proxy
|
|
HTTPS_PROXY
|
|
no_proxy
|
|
NO_PROXY
|
|
TESTING_BRANCH
|
|
TESTING_HOME
|
|
USER
|
|
whitelist_externals =
|
|
bash
|
|
setenv =
|
|
PYTHONUNBUFFERED=1
|
|
PYTHONWARNINGS=default::DeprecationWarning
|
|
VIRTUAL_ENV={envdir}
|
|
WORKING_DIR={toxinidir}
|
|
ANSIBLE_EXTRA_ROLE_DIRS={toxinidir}/playbooks/roles:{homedir}/.ansible/roles/ceph-ansible/roles
|
|
ANSIBLE_ROLE_REQUIREMENTS_PATH={toxinidir}/ansible-role-requirements.yml
|
|
TEST_PLAYBOOK={toxinidir}/tests/bootstrap-aio.yml {toxinidir}/playbooks/setup-everything.yml
|
|
ANSIBLE_LINT_PARAMS=--exclude={homedir}/.ansible/roles
|
|
|
|
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands=
|
|
doc8 doc
|
|
docstheme-build-translated.sh
|
|
|
|
|
|
|
|
[testenv:deploy-guide]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -a -E -W -d deploy-guide/build/doctrees -b html deploy-guide/source deploy-guide/build/html
|
|
|
|
|
|
|
|
[doc8]
|
|
# Settings for doc8:
|
|
extensions = .rst
|
|
ignore = D001
|
|
|
|
|
|
|
|
[testenv:releasenotes]
|
|
basepython = python3
|
|
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]
|
|
basepython = python3
|
|
commands =
|
|
{posargs}
|
|
|
|
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
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]
|
|
basepython = python3
|
|
commands =
|
|
bash -c "{toxinidir}/tests/common/test-bashate.sh"
|
|
|
|
|
|
|
|
# The deps URL should be set to the appropriate git URL.
|
|
# In the tests repo itself, the variable is uniquely set to
|
|
# the toxinidir so that the role is able to test itself, but
|
|
# the tox config is exactly the same as other repositories.
|
|
#
|
|
# The value for other repositories must be:
|
|
# https://opendev.org/openstack/openstack-ansible-tests/raw/test-ansible-deps.txt
|
|
# or for a stable branch:
|
|
# https://opendev.org/openstack/openstack-ansible-tests/raw/stable/stein/test-ansible-deps.txt
|
|
[testenv:ansible]
|
|
basepython = python3
|
|
deps =
|
|
{[testenv]deps}
|
|
-r{toxinidir}/global-requirement-pins.txt
|
|
-rhttps://opendev.org/openstack/openstack-ansible-tests/raw/test-ansible-deps.txt
|
|
|
|
|
|
|
|
[testenv:ansible-syntax]
|
|
basepython = python3
|
|
deps =
|
|
{[testenv:ansible]deps}
|
|
commands =
|
|
bash -c "{toxinidir}/tests/common/test-ansible-syntax.sh"
|
|
|
|
|
|
|
|
[testenv:ansible-lint]
|
|
basepython = python3
|
|
deps =
|
|
{[testenv:ansible]deps}
|
|
commands =
|
|
bash -c "{toxinidir}/tests/common/test-ansible-lint.sh"
|
|
|
|
|
|
|
|
[testenv:inventory]
|
|
basepython = python3
|
|
# Use a fixed seed since some inventory tests rely on specific ordering
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHONHASHSEED = 100
|
|
commands =
|
|
coverage erase
|
|
coverage run -a {toxinidir}/tests/test_inventory.py
|
|
coverage run -a {toxinidir}/tests/test_manage.py
|
|
coverage run -a {toxinidir}/tests/test_dictutils.py
|
|
coverage run -a {toxinidir}/tests/test_ip.py
|
|
coverage run -a {toxinidir}/tests/test_filesystem.py
|
|
coverage report --show-missing --include={toxinidir}/inventory/*,{toxinidir}/osa_toolkit/*
|
|
|
|
|
|
|
|
[testenv:py3-inventory]
|
|
basepython = python3.5
|
|
setenv =
|
|
{[testenv:inventory]setenv}
|
|
commands =
|
|
{[testenv:inventory]commands}
|
|
|
|
|
|
|
|
[testenv:linters]
|
|
basepython = python3
|
|
deps =
|
|
{[testenv:ansible]deps}
|
|
commands =
|
|
{[testenv:pep8]commands}
|
|
{[testenv:bashate]commands}
|
|
{[testenv:ansible-lint]commands}
|
|
{[testenv:ansible-syntax]commands}
|
|
{[testenv:inventory]commands}
|