7e860919a8
Change I42660519c1cbe94a4322767b1940e113b0e5a276 missed dropping support for Python 3.6 which is also EOL. This is not noted as a breaking change as the release email that went out for JJB 4.0.0 already addresses that we will be dropping support for Python 3.6 and older so this simply removes the CI testing associated with that statement. Change-Id: Ia146401460c8978d1b53213413bf92d5aef9a3cf Signed-off-by: Thanh Ha <zxiiro@gmail.com>
91 lines
2.8 KiB
INI
91 lines
2.8 KiB
INI
[tox]
|
|
minversion = 2.2
|
|
envlist = linters, docs, docs-linkcheck, py37, py38, cover
|
|
skip_missing_interpreters = true
|
|
# custom vars (no meaning to tox)
|
|
install_test_deps = pip install -q -r test-requirements.txt
|
|
|
|
[testenv]
|
|
setenv =
|
|
LANG=en_US.UTF-8
|
|
PYTHONDONTWRITEBYTECODE=1
|
|
SUBUNIT_FORMATTER=tee testr_subunit_log
|
|
VIRTUAL_ENV={envdir}
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
# cleanup is needed mostly for dev environmnts and assures that if dev
|
|
# is switching branch, no lefovers will impact execution.
|
|
# No git commands here because test should run even from a source archive.
|
|
commands =
|
|
{[tox]install_test_deps}
|
|
- find . -type f -name "*.pyc" -delete
|
|
- find . -type d -name "__pycache__" -delete
|
|
# test that we can call jjb using both variants with same results
|
|
bash {toxinidir}/tools/test-commands.sh
|
|
stestr run --slowest {posargs}
|
|
whitelist_externals =
|
|
bash
|
|
find
|
|
|
|
[testenv:tips]
|
|
# tests what happens with unreleased version of dependencies, like python-jenkins
|
|
install_command = pip install -U {opts} {packages}
|
|
commands =
|
|
bash -c "if [ -d {toxinidir}/../python-jenkins ]; then \
|
|
pip install -q -U -e 'git+file://{toxinidir}/../python-jenkins#egg=python-jenkins' ; else \
|
|
pip install -q -U -e 'git+https://git.openstack.org/openstack/python-jenkins@master#egg=python-jenkins' ; fi "
|
|
stestr run --slowest {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source jenkins_jobs --parallel-mode
|
|
commands =
|
|
{[tox]install_test_deps}
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:linters]
|
|
basepython = python3
|
|
deps =
|
|
pre-commit>=1.12.0
|
|
commands =
|
|
python -m pre_commit run --all
|
|
|
|
# points to linters, kept only for developer convenience
|
|
[testenv:pep8]
|
|
envdir={toxworkdir}/linters
|
|
deps={[testenv:linters]deps}
|
|
commands = {[testenv:linters]commands}
|
|
|
|
[testenv:pyflakes]
|
|
deps = pyflakes
|
|
commands = pyflakes jenkins_jobs tests setup.py
|
|
|
|
[testenv:compare-xml-config]
|
|
commands = jenkins-jobs {posargs:test -o .test/run-conf/default/out/ .test/run-conf/config/}
|
|
|
|
[testenv:compare-xml-old]
|
|
commands = jenkins-jobs test -o .test/old/out/ .test/old/config/
|
|
|
|
[testenv:compare-xml-new]
|
|
commands = jenkins-jobs test -o .test/new/out/ .test/new/config/
|
|
|
|
[testenv:docs]
|
|
commands =
|
|
{[tox]install_test_deps}
|
|
sphinx-build -n -W -b html -d doc/build/doctrees doc/source doc/build/html
|
|
|
|
[testenv:docs-linkcheck]
|
|
# If you are behind a proxy, for this test to work you will need to set
|
|
# TOX_TESTENV_PASSENV="http_proxy https_proxy no_proxy ..." to pass
|
|
# through the proxy environment settings to be able to validate any urls.
|
|
commands =
|
|
{[tox]install_test_deps}
|
|
sphinx-build -n -W -b linkcheck -d doc/build/doctrees doc/source doc/build/linkcheck
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|