The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and https://github.com/tox-dev/tox/issues/1388 for details. Change-Id: Idfd678fd80b110255664958bf019127e472989b3
132 lines
3.7 KiB
INI
132 lines
3.7 KiB
INI
[tox]
|
|
minversion = 2.0
|
|
envlist = docs, linters
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install -c{env:TOX_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} {opts} {packages}
|
|
passenv = *
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
ANSIBLE_ACTION_PLUGINS={toxinidir}/plugins/action
|
|
ANSIBLE_CALLBACK_PLUGINS={toxinidir}/plugins/callback
|
|
ANSIBLE_FILTER_PLUGINS={toxinidir}/plugins/filter
|
|
ANSIBLE_LIBRARY={toxinidir}/plugins/modules
|
|
ANSIBLE_MODULE_UTILS={toxinidir}/plugins/module_utils
|
|
ANSIBLE_ROLES_PATH={toxinidir}/roles
|
|
ANSIBLE_INVENTORY={toxinidir}/tests/hosts.ini
|
|
ANSIBLE_NOCOWS=1
|
|
ANSIBLE_RETRY_FILES_ENABLED=0
|
|
ANSIBLE_STDOUT_CALLBACK=debug
|
|
ANSIBLE_LOG_PATH={envlogdir}/ansible-execution.log
|
|
VIRTUAL_ENV={envdir}
|
|
# 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
|
|
sitepackages = True
|
|
deps =
|
|
-r {toxinidir}/test-requirements.txt
|
|
-r {toxinidir}/ansible-requirements.txt
|
|
commands = stestr run {posargs}
|
|
whitelist_externals =
|
|
bash
|
|
tox
|
|
|
|
[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:pep8]
|
|
envdir = {toxworkdir}/linters
|
|
commands =
|
|
python -m pre_commit run flake8 -a
|
|
|
|
[testenv:ansible-lint]
|
|
envdir = {toxworkdir}/linters
|
|
deps =
|
|
{[testenv:linters]deps}
|
|
commands =
|
|
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
|
|
commands =
|
|
{[testenv:pep8]commands}
|
|
{[testenv:ansible-lint]commands}
|
|
{[testenv:bashate]commands}
|
|
{[testenv:yamllint]commands}
|
|
{[testenv:whitespace]commands}
|
|
{[testenv:shebangs]commands}
|
|
|
|
[testenv:releasenotes]
|
|
basepython = python3
|
|
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:docs]
|
|
basepython = python3
|
|
deps =
|
|
-r {toxinidir}/doc/requirements.txt
|
|
commands=
|
|
doc8 doc
|
|
sphinx-build -a -E -W -d doc/build/doctrees --keep-going -b html doc/source doc/build/html -T
|
|
|
|
[doc8]
|
|
# Settings for doc8:
|
|
extensions = .rst
|
|
ignore = D001
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:build]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/ansible-requirements.txt
|
|
commands =
|
|
ansible-galaxy collection build --force --output-path {toxinidir}/build/ .
|
|
|
|
[testenv:molecule]
|
|
setenv =
|
|
ANSIBLE_FORCE_COLOR=1
|
|
ANSIBLE_CALLBACK_WHITELIST=profile_tasks
|
|
ANSIBLE_SHOW_CUSTOM_STATS=1
|
|
deps =
|
|
-r {toxinidir}/molecule-requirements.txt
|
|
commands =
|
|
python -m pytest -ra --continue-on-collection-errors -v --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} -k {posargs}
|
|
|
|
# do not put tool config in tox.ini, use setup.cfg or tool specific files
|