Define constraints file for docs and renos

Right now we are not using any constraints for docs and releasenotes builds.
This has resulted in docs job failures once Sphinx 7.2.0 has been released.

The patch will ensure that constraints are used an we should not face
simmilar issue again.

TOX_CONSTRAINTS_FILE is updated by Release bot once new branch is created,
so it should always track relevant constraints.

Some extra syntax-related changes can apply, since patch is being passed
through ConfigParser, that does not preserve comments and align indenting.


Change-Id: Ia7a71439fa62ef110898fb4724f07592410eb039
This commit is contained in:
Dmitriy Rabotyagov 2023-08-17 16:31:55 +02:00
parent 1c5b5990da
commit f8f21b6101
1 changed files with 7 additions and 22 deletions

29
tox.ini
View File

@ -3,7 +3,6 @@ minversion = 2.0
skipsdist = True
envlist = docs,linters,functional
[testenv]
usedevelop = False
commands =
@ -26,73 +25,59 @@ setenv =
VIRTUAL_ENV={envdir}
WORKING_DIR={toxinidir}
[testenv:docs]
basepython = python3
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands=
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands =
bash -c "rm -rf doc/build"
doc8 doc
sphinx-build -W -b html doc/source doc/build/html
[doc8]
# Settings for doc8:
extensions = .rst
[testenv:releasenotes]
basepython = python3
deps = {[testenv:docs]deps}
deps =
{[testenv:docs]deps}
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
# environment used by the -infra templated docs job
[testenv:venv]
basepython = python3
commands =
{posargs}
[testenv:pep8]
basepython = python3
commands =
bash -c "{toxinidir}/tests/common/test-pep8.sh"
[flake8]
# Ignores the following rules due to how ansible modules work in general
# F403 'from ansible.module_utils.basic import *' used;
# unable to detect undefined names
ignore=F403
ignore = F403
[testenv:bashate]
basepython = python3
commands =
bash -c "{toxinidir}/tests/common/test-bashate.sh"
[testenv:ansible-syntax]
basepython = python3
commands =
bash -c "{toxinidir}/tests/common/test-ansible-syntax.sh"
[testenv:ansible-lint]
basepython = python3
commands =
bash -c "{toxinidir}/tests/common/test-ansible-lint.sh"
[testenv:functional]
commands =
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
[testenv:linters]
basepython = python3
commands =