97d2061226
This is motivated by OpenDev's desire to drop the old Bullseye container images as well as container images for older versions of python. We bump testing to python3.11 on the high end of the range and convert the container image to python3.11 + Bookworm. Python 2.7 testing is removed because tox + virtualenv can't actually create python2.7 virtualenvs any longer. There are workarounds but dropping the tests is simpler. Python 3.5 testing is replaced with 3.6 testing beacuse the version of easy_install on ubuntu xenial does not understand TLS + SNI. A while back pypi.org dropped non SNI connection support which means we can't install PBR for to run the setup.py for the projcet. There are workarounds but 3.5 is old enough taht we should be able to move on. Change-Id: I2f2a2d0cf71c69d7babd6df9bfdb41a759e9c0ee
54 lines
1.3 KiB
INI
54 lines
1.3 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
envlist = py3,py27,linters
|
|
ignore_basepython_conflict = true
|
|
|
|
[testenv]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
basepython = python3
|
|
install_command = pip install {opts} {packages}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
allowlist_externals = bash
|
|
commands =
|
|
bash -c "[ -d .testrepository ] || testr init"
|
|
testr run -- {posargs}
|
|
testr slowest
|
|
|
|
[tox:jenkins]
|
|
sitepackages = True
|
|
|
|
[testenv:linters]
|
|
commands = flake8
|
|
|
|
[testenv:cover]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
allowlist_externals = bash
|
|
commands =
|
|
bash -c "[ -d .testrepository ] || testr init"
|
|
testr --coverage
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[flake8]
|
|
exclude = .venv,.tox,dist,doc,*.egg
|
|
show-source = true
|
|
# E123, E125, E129 and H ignored intentionally in this code-base
|
|
ignore = E123,E125,E129,E741,W504,H
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
deps =
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -E -W -d doc/build/doctrees -b html doc/source/ doc/build/html
|
|
|
|
[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.
|
|
deps = bindep
|
|
commands = bindep test
|