tripleo-quickstart-extras/tox.ini
Hervé Beraud 792f6216f6 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.

[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: Ia9616b9c14d59ff382509086fcbf00f56a0701ea
2021-01-05 10:57:13 +01:00

56 lines
1.4 KiB
INI

[tox]
minversion = 3.9.0
envlist = linters
skipdist = True
[testenv]
usedevelop = True
setenv =
ANSIBLE_FORCE_COLOR=1
passenv =
ANSIBLE_*
CURL_CA_BUNDLE
DOCKER_*
MOLECULE_*
REQUESTS_CA_BUNDLE
SSH_AUTH_SOCK
SSL_CERT_FILE
TERM
deps = -r{toxinidir}/test-requirements.txt
whitelist_externals = bash
[testenv:bindep]
basepython = python3
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files.
deps = bindep
commands = bindep test
[testenv:releasenotes]
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
basepython = python3
whitelist_externals = bash
commands = bash -c ci-scripts/releasenotes_tox.sh
[testenv:linters]
basepython = python3
deps =
jinja2
pre-commit
commands =
python -m pre_commit run -a
# TODO(ssbarnea) make is a real pre-commit hook so we can reuse it
python ci-scripts/validate_jinja2.py
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:molecule]
deps = -r{toxinidir}/molecule-requirements.txt
commands =
python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html -rA --molecule-unavailable-driver=fail {tty:-s} {posargs:-k 'molecule and docker'}