4966810392
Python 3.8 reaches its EOL in October 2024, shortly after the 2024.2 release, so is no longer part of the tested runtimes for the 2024.2 release. Remove testing with Python 3.8 because some projects already started removing Python 3.8 support according to the runtime update. Also remove py3.8 specific entries from constraints. Change-Id: I0f84ee438212b4722df66c05684f73c53eca3dca
135 lines
4.2 KiB
INI
135 lines
4.2 KiB
INI
[tox]
|
|
minversion = 4.11.0
|
|
envlist = validate,py3,pep8,pip-install
|
|
ignore_basepython_conflict=true
|
|
|
|
[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:py311-check-uc]
|
|
basepython = python3.11
|
|
deps = -r{toxinidir}/upper-constraints.txt
|
|
commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt
|
|
|
|
[testenv:py312-check-uc]
|
|
basepython = python3.12
|
|
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: -d denylist.txt -r global-requirements.txt -p python3.8 -p python3.9 -p python3.10 -p python3.11 > upper-constraints.txt}
|
|
|
|
[testenv:validate]
|
|
allowlist_externals =
|
|
validate-constraints
|
|
commands =
|
|
validate-constraints {toxinidir}/global-requirements.txt {toxinidir}/upper-constraints.txt {toxinidir}/denylist.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
|