metalsmith/tox.ini
Dmitry Tantsur 77d802f3d6 Deprecate instance network boot
Remove or update the corresponding CI jobs. Use the new custom Cirros
image in the HTTP job to avoid relying on CentOS.

Temporary increase complexity requirements while we have a deprecation
warning in the provisioner.

Change-Id: I5e65f9949ee3b78430309017800b88c1ba21dd02
2022-08-24 13:19:52 +02:00

104 lines
3.2 KiB
INI

[tox]
minversion = 3.18.0
envlist = py3,pep8
ignore_basepython_conflict = true
[testenv]
basepython = python3
usedevelop = True
setenv = VIRTUAL_ENV={envdir}
LANGUAGE=en_US
LC_ALL=en_US.UTF-8
PYTHONWARNINGS=default::DeprecationWarning
PYTHONDONTWRITEBYTECODE=1
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
commands =
stestr run {posargs}
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
[testenv:cover]
setenv = {[testenv]setenv}
PYTHON=coverage run --branch --source metalsmith --parallel-mode
commands =
coverage erase
stestr run {posargs}
coverage combine
coverage report -m --fail-under 90
coverage html -d ./cover --omit='*test*'
coverage xml -o cover/coverage.xml
[testenv:venv]
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}/doc/requirements.txt
commands = {posargs}
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY \
OS_USERNAME OS_PASSWORD OS_PROJECT_NAME OS_AUTH_URL \
OS_USER_DOMAIN_NAME OS_PROJECT_DOMAIN_NAME OS_CLOUD OS_CACERT
[testenv:pep8]
deps =
Pygments>=2.2.0 # BSD
doc8>=0.8.1 # Apache-2.0
flake8-import-order>=0.17.1 # LGPLv3
hacking>=4.1.0,<5.0.0 # Apache-2.0
pycodestyle>=2.0.0,<3.0.0 # MIT
commands =
flake8 metalsmith
doc8 README.rst doc/source metalsmith_ansible/roles
[testenv:docs]
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/doc/joined-requirements.txt
commands =
sphinx-build -a -E -W -b html doc/source doc/build/html
[testenv:pdf-docs]
allowlist_externals = make
deps = {[testenv:docs]deps}
commands =
sphinx-build -W -b latex doc/source doc/build/pdf
make -C doc/build/pdf
[testenv:releasenotes]
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/doc/joined-requirements.txt
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:lower-constraints]
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
[flake8]
# [W503] Line break before binary operator.
ignore = W503
max-complexity=16
import-order-style = pep8
application-import-names = metalsmith
# [H106] Don't put vim configuration in source files.
# [H203] Use assertIs(Not)None to check for None.
# [H204] Use assert(Not)Equal to check for equality.
# [H205] Use assert(Greater|Less)(Equal) for comparison.
# [H210] Require 'autospec', 'spec', or 'spec_set' in mock.patch/mock.patch.object calls
# [H904] Delay string interpolations at logging calls.
enable-extensions=H106,H203,H204,H205,H210,H904
[testenv:linters]
usedevelop = False
allowlist_externals = bash
deps =
ansible>=5,<6
ansible-lint>=5,<6
commands =
bash tools/ansible-lint.sh