blazar/tox.ini
Radosław Piliszek 42e4b7639f [docs] Install blazar to generate proper docs
The blazar installation was removed in [1].
However, stevedore requires blazar to generate docs for
configuration. Currently, they are mostly empty.
Instead of removing the blazar installation, this change makes
sure that deps are installed with constraints so that blazar
installation does not bring havoc and the original issue is fixed.

[1] Ic55dba0038a2209e9fb291a604a5c1da57607e1e

Change-Id: I28d06ae31c4cf44d010e0892a094138112b08641
2022-08-03 10:40:57 +00:00

113 lines
3.4 KiB
INI

[tox]
envlist = py39,py38,pep8
minversion = 3.18.0
skipsdist = True
ignore_basepython_conflict = True
[testenv]
basepython = python3
usedevelop = True
allowlist_externals = rm
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
setenv = VIRTUAL_ENV={envdir}
DISCOVER_DIRECTORY=blazar/tests
PYTHONHASHSEED=0
commands =
stestr run --slowest {posargs}
sitepackages = False
[testenv:cover]
setenv =
{[testenv]setenv}
PYTHON=coverage run --source blazar --parallel-mode
commands =
coverage erase
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report
[testenv:pep8]
skip_install = True
commands = flake8 {posargs}
[testenv:venv]
commands = {posargs}
[testenv:docs]
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf doc/html doc/build
rm -rf doc/source/apidoc doc/source/api
sphinx-build -W -b html doc/source doc/build/html
[testenv:pdf-docs]
deps = {[testenv:docs]deps}
allowlist_externals = make
commands =
sphinx-build --keep-going -b latex doc/source doc/build/pdf
make -C doc/build/pdf
[testenv:genconfig]
commands = oslo-config-generator --config-file=etc/blazar/blazar-config-generator.conf
[flake8]
show-source = true
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,tools,api-ref
# NOTE(tonyb): Ignore a few errors/warnings that are now "on by default".
# W503 line break before binary operator
# W504 line break after binary operator
# E402 module level import not at top of file
ignore=H105,H238,E123,E402,W503,W504
# [H904] Delay string interpolations at logging calls.
enable-extensions=H904
# To get a list of functions that have a complexity of 17 or more, set
# max-complexity to 17 and run 'tox -epep8'.
# 23 is currently the most complex thing we have:
# 'ManagerService.update_lease' - blazar/manager/service.py
max-complexity=23
[flake8:local-plugins]
extension =
Bl301 = checks:no_translate_logs
Bl302 = checks:no_log_warn
paths = ./blazar/hacking
[testenv:pylint]
deps = -r{toxinidir}/requirements.txt
pylint==1.9.1
commands = pylint blazar
[testenv:releasenotes]
deps = {[testenv:docs]deps}
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html
[testenv:api-ref]
# This environment is called from CI scripts to test and publish
# the API Ref to docs.openstack.org.
deps = {[testenv:docs]deps}
commands =
rm -rf api-ref/build
sphinx-build -WE --keep-going -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
[testenv:genpolicy]
commands =
oslopolicy-sample-generator --config-file etc/blazar/blazar-policy-generator.conf
# This environment can be used to quickly validate that all needed system
# packages required to successfully execute test targets are installed
[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