You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
3.6 KiB
130 lines
3.6 KiB
[tox] |
|
minversion = 3.2.0 |
|
envlist = linters,docs,py38,molecule |
|
skipdist = True |
|
ignore_basepython_conflict = True |
|
requires = |
|
tox-ansible >= 1.0.5 |
|
|
|
[testenv] |
|
basepython = python3 |
|
usedevelop = True |
|
passenv = TERM |
|
setenv = |
|
ANSIBLE_CALLBACK_PLUGINS={toxinidir}/callback_plugins |
|
ANSIBLE_LOOKUP_PLUGINS={toxinidir}/lookup_plugins |
|
ANSIBLE_LIBRARY={toxinidir}/library |
|
ANSIBLE_ROLES_PATH={toxinidir}/roles |
|
ANSIBLE_NOCOWS=1 |
|
ANSIBLE_RETRY_FILES_ENABLED=0 |
|
ANSIBLE_STDOUT_CALLBACK=debug |
|
ANSIBLE_LOG_PATH={envlogdir}/ansible-execution.log |
|
# pip: Avoid 2020-01-01 warnings: https://github.com/pypa/pip/issues/6207 |
|
# paramiko CryptographyDeprecationWarning: https://github.com/ansible/ansible/issues/52598 |
|
PYTHONWARNINGS=ignore:DEPRECATION::pip._internal.cli.base_command,ignore::UserWarning |
|
PIP_DISABLE_PIP_VERSION_CHECK=1 |
|
PIP_+ VIRTUAL_ENV={envdir} |
|
LANG=en_US.UTF-8 |
|
LANGUAGE=en_US:en |
|
LC_ALL=C |
|
HOME={envdir} |
|
commands = |
|
stestr run --slowest --color {posargs} |
|
deps = |
|
-c {env:TOX_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} |
|
-r {toxinidir}/requirements.txt |
|
-r {toxinidir}/test-requirements.txt |
|
-r {toxinidir}/molecule-requirements.txt |
|
whitelist_externals = bash |
|
|
|
[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:debug] |
|
commands = oslo_debug_helper {posargs} |
|
|
|
[testenv:pep8] |
|
envdir = {toxworkdir}/linters |
|
commands = |
|
python -m pre_commit run flake8 -a |
|
|
|
[testenv:ansible-lint] |
|
envdir = {toxworkdir}/linters |
|
deps = |
|
{[testenv:linters]deps} |
|
commands = |
|
bash -c "ANSIBLE_ROLES_PATH='{toxinidir}/roles'" |
|
bash -c "ANSIBLE_LIBRARY='{toxinidir}/library'" |
|
python -m pre_commit run ansible-lint -a |
|
|
|
[testenv:yamllint] |
|
envdir = {toxworkdir}/linters |
|
deps = {[testenv:linters]deps} |
|
commands = |
|
python -m pre_commit run yamllint -a |
|
|
|
[testenv:bashate] |
|
envdir = {toxworkdir}/linters |
|
deps = {[testenv:linters]deps} |
|
commands = |
|
python -m pre_commit run bashate -a |
|
|
|
[testenv:whitespace] |
|
envdir = {toxworkdir}/linters |
|
deps = {[testenv:linters]deps} |
|
commands = |
|
python -m pre_commit run trailing-whitespace -a |
|
|
|
[testenv:shebangs] |
|
envdir = {toxworkdir}/linters |
|
deps = {[testenv:linters]deps} |
|
commands = |
|
python -m pre_commit run check-executables-have-shebangs -a |
|
|
|
[testenv:linters] |
|
deps = |
|
-r {toxinidir}/requirements.txt |
|
-r {toxinidir}/test-requirements.txt |
|
-r {toxinidir}/molecule-requirements.txt |
|
commands = |
|
python '{toxinidir}/tools/validate-files.py' . |
|
{[testenv:ansible-lint]commands} |
|
{[testenv:yamllint]commands} |
|
{[testenv:bashate]commands} |
|
{[testenv:whitespace]commands} |
|
{[testenv:shebangs]commands} |
|
|
|
[testenv:releasenotes] |
|
deps = -r{toxinidir}/doc/requirements.txt |
|
commands = |
|
sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html |
|
|
|
[testenv:cover] |
|
deps = |
|
-r {toxinidir}/requirements.txt |
|
-r {toxinidir}/test-requirements.txt |
|
-r {toxinidir}/molecule-requirements.txt |
|
commands = python setup.py test --coverage --testr-args='{posargs}' |
|
|
|
[testenv:docs] |
|
deps = |
|
-r {toxinidir}/doc/requirements.txt |
|
-r {toxinidir}/molecule-requirements.txt |
|
commands= |
|
sphinx-build -a -E -W -d doc/build/doctrees --keep-going -b html doc/source doc/build/html -T |
|
doc8 doc |
|
|
|
[doc8] |
|
# Settings for doc8: |
|
extensions = .rst |
|
ignore = D001 |
|
|
|
[ansible] |
|
description = Used as base for all tox-ansible environments |
|
molecule_opts = |
|
--debug
|
|
|