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: I877b57ba117a820be7ca05d01037069295099f06
This commit is contained in:
Dmitriy Rabotyagov 2023-08-17 16:32:23 +02:00
parent 2b398f5f43
commit 924e290af9

15
tox.ini
View File

@ -32,7 +32,9 @@ setenv =
[testenv:docs] [testenv:docs]
basepython = python3 basepython = python3
deps = -r{toxinidir}/doc/requirements.txt deps =
-r{toxinidir}/doc/requirements.txt
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
commands = commands =
bash -c "rm -rf doc/build" bash -c "rm -rf doc/build"
sphinx-build -W --keep-going -b html doc/source doc/build/html sphinx-build -W --keep-going -b html doc/source doc/build/html
@ -47,16 +49,16 @@ commands =
make -C doc/build/pdf make -C doc/build/pdf
[doc8] [doc8]
# Settings for doc8:
extensions = .rst extensions = .rst
[testenv:releasenotes] [testenv:releasenotes]
basepython = python3 basepython = python3
deps = -r{toxinidir}/doc/requirements.txt deps =
-r{toxinidir}/doc/requirements.txt
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
commands = commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html
# environment used by the -infra templated docs job
[testenv:venv] [testenv:venv]
basepython = python3 basepython = python3
commands = commands =
@ -69,10 +71,7 @@ commands =
doc8 doc doc8 doc
[flake8] [flake8]
# Ignores the following rules due to how ansible modules work in general ignore = F403
# F403 'from ansible.module_utils.basic import *' used;
# unable to detect undefined names
ignore=F403
[testenv:bashate] [testenv:bashate]
basepython = python3 basepython = python3