From 16cc6428f298de9a52d40eff4973a7f34ee6d6d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Beraud?= Date: Thu, 7 Jan 2021 17:15:26 +0100 Subject: [PATCH] Add doc/requirements We need to specify doc requirements in doc/requirements.txt to avoid problems with the pip resolver [1] for the release team [2][3]. Removing specific doc requirements from test-requirements.txt. The problem here is that this repos haven't doc/requirements.txt file and by default in this case zuul will use the test-requirements.txt file to pull requirements [4]. This requirements file contains extra requirements like flake8 that collided with those allowed in our job environment and so the new pip resolver fails to install these requirements and the job exits in error. This project meet the conditions leading to the bug. /!\/!\/!\ Notice that I voluntarily added the doc directory even if no docs are generated here because zuul will try to pull this requirements from there first and the contained requirements are needed for reno but AFAIK the releasenotes dir is ignored by zuul. c.f [4] for further details. /!\/!\/!\ [1] http://lists.openstack.org/pipermail/release-job-failures/2021-January/001500.html [2] http://lists.openstack.org/pipermail/openstack-discuss/2021-January/019611.html [3] http://lists.openstack.org/pipermail/openstack-discuss/2021-January/019612.html [4] https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/ensure-sphinx/tasks/main.yaml#L36 Change-Id: I77bbf9eac7bfe707aeed40980cfddfb5f0be2f91 --- doc/requirements.txt | 3 +++ test-requirements.txt | 3 --- tox.ini | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 doc/requirements.txt diff --git a/doc/requirements.txt b/doc/requirements.txt new file mode 100644 index 0000000..1489bce --- /dev/null +++ b/doc/requirements.txt @@ -0,0 +1,3 @@ +sphinx>=2.0.0,!=2.1.0 # BSD +openstackdocstheme>=2.2.1 # Apache-2.0 +reno>=3.1.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 80703a8..ed0f57f 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -12,11 +12,8 @@ coverage>=3.6 ddt>=0.7.0 python-subunit>=0.0.18 selenium>=2.50.1 # Apache-2.0 -sphinx>=2.0.0,!=2.1.0 # BSD -openstackdocstheme>=2.2.1 # Apache-2.0 testrepository>=0.0.18 testscenarios>=0.4 testtools>=1.4.0 # This also needs xvfb library installed on your OS xvfbwrapper>=0.1.3 #license: MIT -reno>=3.1.0 # Apache-2.0 diff --git a/tox.ini b/tox.ini index a2de3a1..688ff9f 100644 --- a/tox.ini +++ b/tox.ini @@ -29,6 +29,8 @@ commands = /bin/bash run_tests.sh -N --integration --selenium-headless {posargs} commands = python setup.py testr --coverage --testr-args={posargs} [testenv:docs] +deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -E -W -b html doc/source doc/build/html @@ -36,6 +38,7 @@ commands = commands = oslo_debug_helper {posargs} [testenv:releasenotes] +deps = {[testenv:docs]deps} commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [flake8]