45df91ada8
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. [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: Iac7d5ec69724206453c5fc74cbd61efde9b9a1ee
106 lines
2.7 KiB
INI
106 lines
2.7 KiB
INI
[tox]
|
|
envlist = py38,pypy,cover,pep8
|
|
minversion = 3.1.1
|
|
skipsdist = True
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
OS_TEST_PATH=monascaclient/tests
|
|
PYTHONWARNINGS=default::DeprecationWarning
|
|
passenv = *_proxy
|
|
*_PROXY
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
whitelist_externals = bash
|
|
find
|
|
rm
|
|
commands =
|
|
find {toxinidir} -type f -name "*.pyc" -delete
|
|
stestr run {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
PYTHON=coverage run --source monascaclient --parallel-mode
|
|
commands =
|
|
coverage erase
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
coverage report
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper -t {env:OS_TEST_PATH} {posargs}
|
|
|
|
[testenv:pep8]
|
|
skip_install = True
|
|
usedevelop = False
|
|
commands =
|
|
{[testenv:flake8]commands}
|
|
{[testenv:bandit]commands}
|
|
{[testenv:checkniceness]commands}
|
|
|
|
[testenv:flake8]
|
|
skip_install = True
|
|
usedevelop = False
|
|
commands = flake8 monascaclient
|
|
|
|
[testenv:bandit]
|
|
skip_install = True
|
|
usedevelop = False
|
|
commands = bandit -r monascaclient -n5 -x {env:OS_TEST_PATH}
|
|
|
|
[testenv:docs]
|
|
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
description = Builds full monascaclient documentation
|
|
commands =
|
|
{[testenv:devdocs]commands}
|
|
{[testenv:releasenotes]commands}
|
|
|
|
[testenv:devdocs]
|
|
deps = {[testenv:docs]deps}
|
|
description = Builds developer documentation
|
|
commands =
|
|
rm -rf {toxinidir}/doc/build {toxinidir}/doc/source/contributor/api
|
|
sphinx-build -a -W -b html doc/source doc/build/html
|
|
|
|
[testenv:releasenotes]
|
|
deps = {[testenv:docs]deps}
|
|
description = Called from CI script to test and publish the Release Notes
|
|
commands =
|
|
rm -rf releasenotes/build
|
|
sphinx-build -a -W -E -d {toxinidir}/releasenotes/build/doctrees -b html \
|
|
{toxinidir}/releasenotes/source {toxinidir}/releasenotes/build/html
|
|
|
|
[testenv:checkniceness]
|
|
description = Validates (pep-like) documenation
|
|
commands =
|
|
doc8 --file-encoding utf-8 {toxinidir}/doc
|
|
doc8 --file-encoding utf-8 {toxinidir}/releasenotes
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[hacking]
|
|
import_exceptions =
|
|
|
|
[flake8]
|
|
show-source = True
|
|
max-line-length = 100
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,client_api_example.py,*lib/python*,*egg,build
|
|
|
|
[testenv:lower-constraints]
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|