
Python3.8 is no longer part of the PTI and some libraries are dropping support for it in new releases. Make our life easy and stop generating and checking constraints for it rather than reintroducing python_version specific constraints again. Change-Id: Iee6b65ad1cac13df33ea96119f3cf4b70e2e307e
129 lines
4.0 KiB
INI
129 lines
4.0 KiB
INI
[tox]
|
|
minversion = 3.2.0
|
|
envlist = validate,py3,pep8,pip-install
|
|
ignore_basepython_conflict=true
|
|
# NOTE(elod.illes): with latest virtualenv (and setuptools bundled in
|
|
# it) py3*-check-uc jobs started to fail as pkg_resources' __getattr__
|
|
# breaks on packages metadata
|
|
requires = virtualenv<20.18
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
deps = -c{toxinidir}/upper-constraints.txt
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
stestr run {posargs}
|
|
|
|
[testenv:py39-check-uc]
|
|
allowlist_externals =
|
|
check-conflicts
|
|
basepython = python3.9
|
|
deps = -r{toxinidir}/upper-constraints.txt
|
|
commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt
|
|
|
|
[testenv:py310-check-uc]
|
|
basepython = python3.10
|
|
deps = -r{toxinidir}/upper-constraints.txt
|
|
commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:update]
|
|
allowlist_externals =
|
|
update-requirements
|
|
commands = update-requirements {posargs}
|
|
|
|
[testenv:generate]
|
|
allowlist_externals =
|
|
generate-constraints
|
|
description = Regenerates upper-constraints.txt
|
|
# Generate needs an unconstrained install to get new dependencies
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = generate-constraints {posargs: -b blacklist.txt -r global-requirements.txt -p python3.9 -p python3.10 > upper-constraints.txt}
|
|
|
|
[testenv:validate]
|
|
allowlist_externals =
|
|
validate-constraints
|
|
commands =
|
|
validate-constraints {toxinidir}/global-requirements.txt {toxinidir}/upper-constraints.txt {toxinidir}/blacklist.txt
|
|
|
|
[testenv:validate-projects]
|
|
allowlist_externals =
|
|
validate-projects
|
|
commands = validate-projects {toxinidir}/projects.txt
|
|
|
|
# TODO remove once zuul reconfigured to run linters on gate
|
|
[testenv:pep8]
|
|
deps = {[testenv:linters]deps}
|
|
allowlist_externals =
|
|
bash
|
|
commands =
|
|
flake8
|
|
bash -c "find {toxinidir}/tools \
|
|
-type f \
|
|
-name \*.sh \
|
|
-print0 | xargs -0 bashate -v -iE006,E010"
|
|
bash -c 'sed -e "s,===,==," upper-constraints.txt > {envtmpdir}/safety-check.txt'
|
|
-safety check --json -r {envtmpdir}/safety-check.txt
|
|
|
|
[testenv:linters]
|
|
description = Perform linting
|
|
deps =
|
|
hacking>=1.0.0
|
|
bashate>=0.5.1
|
|
safety
|
|
allowlist_externals =
|
|
bash
|
|
commands =
|
|
flake8
|
|
bash -c "find {toxinidir}/tools \
|
|
-type f \
|
|
-name \*.sh \
|
|
-print0 | xargs -0 bashate -v -iE006,E010"
|
|
bash -c 'sed -e "s,===,==," upper-constraints.txt > {envtmpdir}/safety-check.txt'
|
|
-safety check --json -r {envtmpdir}/safety-check.txt
|
|
|
|
[testenv:bindep]
|
|
# 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, and develop mode disabled
|
|
# explicitly to avoid unnecessarily installing the checked-out repo too (this
|
|
# further relies on "tox.skipsdist = True" above).
|
|
deps = bindep
|
|
commands = bindep test
|
|
usedevelop = False
|
|
|
|
[testenv:docs]
|
|
allowlist_externals =
|
|
sphinx-build
|
|
deps = -c{env:TOX_CONSTRAINTS_FILE:{toxinidir}/upper-constraints.txt}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -W -b html doc/source doc/build/html
|
|
|
|
[testenv:pip-install]
|
|
recreate = True
|
|
deps = .
|
|
commands = python {toxinidir}/tools/check-install.py
|
|
|
|
[testenv:requirements-check]
|
|
allowlist_externals =
|
|
{toxinidir}/playbooks/files/project-requirements-change.py
|
|
deps = -r{toxinidir}/requirements.txt
|
|
commands =
|
|
{toxinidir}/playbooks/files/project-requirements-change.py --local {posargs}
|
|
|
|
[testenv:babel]
|
|
# Use the local upper-constraints.txt file
|
|
allowlist_externals =
|
|
{toxinidir}/tools/babel-test.sh
|
|
deps = Babel
|
|
commands = {toxinidir}/tools/babel-test.sh
|
|
|
|
[flake8]
|
|
exclude = .venv,.git,.tox,dist,doc,*egg,build
|