
When a path is broken into two separate lines, the generated HTML includes an incorrect space character in the middle of the path. We need to ignore doc8 linting on this file as this change breaks the max line length check. I tried using ``ignore-path-errors`` to exclude only D001 for this file, but doc8 does not like a relative path for this option [1]. [1] https://github.com/PyCQA/doc8/issues/162 Change-Id: I1cf0b7a6b7506a68876bce2de5080718280a47be
167 lines
5.1 KiB
INI
167 lines
5.1 KiB
INI
[tox]
|
|
minversion = 3.18
|
|
envlist = py3,linters
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
allowlist_externals = bash
|
|
find
|
|
rm
|
|
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
podman>=4.3.0,<5
|
|
passenv = http_proxy,HTTP_PROXY,https_proxy,HTTPS_PROXY,no_proxy,NO_PROXY, \
|
|
OS_STDOUT_CAPTURE,OS_STDERR_CAPTURE,OS_LOG_CAPTURE,OS_TEST_TIMEOUT, \
|
|
PYTHON,OS_TEST_PATH,LISTOPT,IDOPTION
|
|
commands =
|
|
find . -type f -name "*.py[c|o]" -delete -o -type l -name "*.py[c|o]" -delete
|
|
find . -type d -name "__pycache__" -delete
|
|
bash {toxinidir}/tests/link-module-utils.sh {toxinidir} {envsitepackagesdir}
|
|
stestr run --slowest {posargs}
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper -t tests {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
NOSE_WITH_COVERAGE=1
|
|
NOSE_COVER_BRANCHES=1
|
|
NOSE_COVER_HTML=1
|
|
NOSE_COVER_HTML_DIR={toxinidir}/cover
|
|
PYTHON=coverage run --source kolla_ansible,ansible/action_plugins,ansible/library,ansible/module_utils,ansible/roles/keystone/files/ --parallel-mode
|
|
commands =
|
|
bash {toxinidir}/tests/link-module-utils.sh {toxinidir} {envsitepackagesdir}
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
coverage report --show-missing
|
|
|
|
[testenv:venv]
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
skip_install = true
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
rm -rf doc/build/html
|
|
{[testenv:docs-iterative]commands}
|
|
|
|
[testenv:docs-iterative]
|
|
envdir = {toxworkdir}/docs
|
|
skip_install = {[testenv:docs]skip_install}
|
|
deps = {[testenv:docs]deps}
|
|
commands =
|
|
sphinx-build -n -W --keep-going -b html doc/source doc/build/html
|
|
whereto doc/source/_extra/.htaccess doc/test/redirect-tests.txt
|
|
|
|
[testenv:deploy-guide]
|
|
skip_install = {[testenv:docs]skip_install}
|
|
deps = {[testenv:docs]deps}
|
|
commands =
|
|
rm -rf deploy-guide/build/html
|
|
sphinx-build -n -W --keep-going -b html deploy-guide/source deploy-guide/build/html
|
|
|
|
[testenv:pdf-docs]
|
|
allowlist_externals = make
|
|
rm
|
|
skip_install = {[testenv:docs]skip_install}
|
|
deps = {[testenv:docs]deps}
|
|
commands =
|
|
rm -rf doc/build/pdf
|
|
sphinx-build -n -W --keep-going -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:releasenotes]
|
|
skip_install = {[testenv:docs]skip_install}
|
|
deps = {[testenv:docs]deps}
|
|
commands =
|
|
rm -rf releasenotes/build/html
|
|
sphinx-build -n -W --keep-going -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:linters]
|
|
# Env vars and deps need to be defined in top level tox env
|
|
setenv =
|
|
ANSIBLE_LIBRARY = {toxinidir}/ansible/library
|
|
ANSIBLE_ACTION_PLUGINS = {toxinidir}/ansible/action_plugins
|
|
ANSIBLE_FILTER_PLUGINS = {toxinidir}/ansible/filter_plugins
|
|
ANSIBLE_ROLES_PATH = {toxinidir}/ansible/roles
|
|
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/lint-requirements.txt
|
|
allowlist_externals = bash
|
|
find
|
|
commands =
|
|
{[testenv:pep8]commands}
|
|
{[testenv:doc8]commands}
|
|
{[testenv:bandit]commands}
|
|
{[testenv:bashate]commands}
|
|
{[testenv:j2lint]commands}
|
|
{[testenv:yamllint]commands}
|
|
{[testenv:ansible-lint]commands}
|
|
|
|
[testenv:pep8]
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
flake8 {posargs}
|
|
codespell -I {toxinidir}/.codespell-ignore
|
|
|
|
[flake8]
|
|
show-source = True
|
|
# NOTE: Default ignore list is *not* empty!
|
|
# W504 line break after binary operator
|
|
# (W503 and W504 are incompatible and we need to choose one of them.
|
|
# Existing codes follows W503, so we disable W504.):
|
|
ignore = W504
|
|
exclude = .eggs,.git,.tox,doc
|
|
|
|
[doc8]
|
|
# NOTE(priteau): We break max line length in this file to avoid inserting
|
|
# erroneous space characters inside file paths
|
|
ignore-path = doc/source/reference/storage/external-ceph-guide.rst
|
|
|
|
[testenv:doc8]
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
doc8 doc/source
|
|
reno lint
|
|
doc8 -e '.yaml' releasenotes/notes/
|
|
|
|
[testenv:bashate]
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
bash -c "{toxinidir}/tools/run-bashate.sh"
|
|
|
|
[testenv:bandit]
|
|
# B303: Use of insecure MD2, MD4, MD5, or SHA1 hash function.
|
|
deps = {[testenv:linters]deps}
|
|
commands = bandit --skip B303 -r ansible kolla_ansible tests tools
|
|
|
|
[testenv:j2lint]
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
find {toxinidir} -type f -name "*.j2" -not -path "*/.tox/*" -exec {toxinidir}/tests/j2lint.py \{\} +
|
|
|
|
[testenv:ansible-lint]
|
|
# Lint only code in ansible/* - ignore tests/ and roles/ used by CI
|
|
setenv = {[testenv:linters]setenv}
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
python {toxinidir}/tools/validate-all-file.py
|
|
ansible-lint -p --exclude tests --exclude roles --exclude etc --exclude zuul.d
|
|
|
|
[testenv:yamllint]
|
|
deps = {[testenv:linters]deps}
|
|
commands = yamllint -s .
|