fea7fa2d9c
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: I519ef389448acb3dde328a0e61c074e48d7e0466
111 lines
3.4 KiB
INI
111 lines
3.4 KiB
INI
[tox]
|
|
minversion = 2.0
|
|
skipsdist = True
|
|
envlist = pep8,py37,tht
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = python setup.py testr --slowest --testr-args='{posargs}'
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:pep8]
|
|
whitelist_externals =
|
|
bash
|
|
commands =
|
|
python ./tools/process-templates.py
|
|
python ./network/endpoints/build_endpoint_map.py --check
|
|
python ./tools/yaml-validate.py .
|
|
bash -c ./tools/roles-data-validation.sh
|
|
bash -c ./tools/check-up-to-date.sh
|
|
flake8 --exclude releasenotes,.tox,__pycache__ --ignore {[testenv:flake8]ignore}
|
|
|
|
[testenv:flake8]
|
|
# E125 is deliberately excluded. See
|
|
# https://github.com/jcrocholl/pep8/issues/126. It's just wrong.
|
|
#
|
|
# Most of the whitespace related rules (E12* and E131) are excluded
|
|
# because while they are often useful guidelines, strict adherence to
|
|
# them ends up causing some really odd code formatting and forced
|
|
# extra line breaks. Updating code to enforce these will be a hard sell.
|
|
#
|
|
# H405 is another one that is good as a guideline, but sometimes
|
|
# multiline doc strings just don't have a natural summary
|
|
# line. Rejecting code for this reason is wrong.
|
|
#
|
|
# E251 Skipped due to https://github.com/jcrocholl/pep8/issues/301
|
|
#
|
|
# The following two are also ignored that we don't think it is useful.
|
|
# W503 line break before binary operator
|
|
# W504 line break after binary operator
|
|
#
|
|
# The following rules are currently ignored, but will be enforced
|
|
# in the future
|
|
# E501 line too long
|
|
# E731 do not assign a lambda expression, use a def
|
|
# W605 invalid escape sequence
|
|
ignore = E121,E122,E123,E124,E125,E126,E127,E128,E129,E131,E251,H405,W503,W504,E501,E731,W605
|
|
exclude = releasenotes
|
|
|
|
[testenv:templates]
|
|
commands = python ./tools/process-templates.py
|
|
|
|
[testenv:clean]
|
|
commands = python ./tools/process-templates.py -c
|
|
|
|
[testenv:releasenotes]
|
|
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
whitelist_externals =
|
|
bash
|
|
commands = bash -c tools/releasenotes_tox.sh
|
|
|
|
[testenv:cover]
|
|
commands = python setup.py test --coverage --coverage-package-name=tripleo_heat_templates --testr-args='{posargs}'
|
|
|
|
[testenv:genconfig]
|
|
commands =
|
|
python ./tools/process-templates.py
|
|
python ./tripleo_heat_templates/environment_generator.py sample-env-generator/
|
|
|
|
[testenv:genroledata]
|
|
whitelist_externals =
|
|
bash
|
|
commands =
|
|
bash -c tools/roles-data-generate-samples.sh
|
|
|
|
[testenv:tht]
|
|
usedevelop = True
|
|
setenv =
|
|
ANSIBLE_FORCE_COLOR=1
|
|
ANSIBLE_INVENTORY={toxinidir}/test/hosts.ini
|
|
ANSIBLE_THT_FOLDER={toxinidir}
|
|
ANSIBLE_NOCOWS=1
|
|
ANSIBLE_RETRY_FILES_ENABLED=0
|
|
ANSIBLE_STDOUT_CALLBACK=debug
|
|
PY_COLORS=1
|
|
VIRTUAL_ENV={envdir}
|
|
# Avoid 2020-01-01 warnings: https://github.com/pypa/pip/issues/6207
|
|
PYTHONWARNINGS=ignore:DEPRECATION::pip._internal.cli.base_command
|
|
PIP_DISABLE_PIP_VERSION_CHECK=1
|
|
passenv =
|
|
ANSIBLE_*
|
|
deps =
|
|
-r{toxinidir}/test-ansible-requirements.txt
|
|
whitelist_externals =
|
|
bash
|
|
commands_pre =
|
|
pip install -q bindep
|
|
bindep test
|
|
commands =
|
|
pytest --color=no \
|
|
--html={envlogdir}/reports.html \
|
|
--self-contained-html \
|
|
{toxinidir}/tripleo_heat_templates/tests/test_tht_ansible_syntax.py
|