16cc6428f2
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
52 lines
1.5 KiB
INI
52 lines
1.5 KiB
INI
[tox]
|
|
minversion = 3.1.1
|
|
envlist = py38,pep8
|
|
skipsdist = True
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
basepython = python3
|
|
install_command = pip install {opts} {packages}
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
/bin/bash run_tests.sh -N --no-pep8 {posargs}
|
|
|
|
[testenv:pep8]
|
|
commands = flake8
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:integration]
|
|
commands = /bin/bash run_tests.sh -N --integration --selenium-headless {posargs}
|
|
|
|
[testenv:cover]
|
|
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
|
|
|
|
[testenv:debug]
|
|
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]
|
|
show-source = True
|
|
# F405 TEMPLATES may be undefined, or defined from star imports
|
|
# (because it is not easy to avoid this in openstack_dashboard.test.settings)
|
|
# H405 multi line docstring summary not separated with an empty line
|
|
ignore = F405,H405,W504
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,.ropeproject,tools,releasenotes,.tmp
|