From 20ed3307d11801f079fab2ccd361613ee1f682e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Beraud?= Date: Tue, 5 Jan 2021 11:23:06 +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]. Removed 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: Ib224dfe036543c8ec7fe3074fe4280586d35de97 --- doc/requirements.txt | 3 +++ test-requirements.txt | 5 ----- tox.ini | 12 ++++++++---- 3 files changed, 11 insertions(+), 9 deletions(-) create mode 100644 doc/requirements.txt diff --git a/doc/requirements.txt b/doc/requirements.txt new file mode 100644 index 000000000..1f13e4c13 --- /dev/null +++ b/doc/requirements.txt @@ -0,0 +1,3 @@ +sphinx>=2.0 # BSD +openstack-doc-tools>=1.8.0 # Apache-2.0 +os-service-types diff --git a/test-requirements.txt b/test-requirements.txt index 9ca3a4d63..8a9639874 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -3,12 +3,7 @@ # process, which may cause wedges in the gate later. pbr>=2.0.0,!=2.1.0 # Apache-2.0 - -sphinx>=2.0 # BSD - -openstack-doc-tools>=1.8.0 # Apache-2.0 Jinja2>=2.10 requests -os-service-types lxml!=3.7.0,>=3.4.1 # BSD diff --git a/tox.ini b/tox.ini index 569ab01d9..aa017dcd2 100644 --- a/tox.ini +++ b/tox.ini @@ -17,13 +17,17 @@ whitelist_externals = [testenv:venv] commands = {posargs} +[testenv:docs] +deps = + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -r{toxinidir}/doc/requirements.txt +commands = + {toxinidir}/tools/build-index.sh + [testenv:publishdocs] +deps = {[testenv:docs]deps} # Prepare documents (without www) so that they can get published on # developer.openstack.org with just copying publish-docs/api-ref over. commands = # Build website index {toxinidir}/tools/build-index.sh - -[testenv:docs] -commands = - {toxinidir}/tools/build-index.sh