dd95740d82
tox 4.0 was released but unfortunately it introduced breaking changes, which affect the tox jobs. This makes sure tox is not updated when installing dependencies. The tox package installed by the common ensure-tox role was already pinned by [1]. [1] https://review.opendev.org/c/zuul/zuul-jobs/+/866928 Change-Id: I535ef4c16dfdf6713124b42be93f2d10bda593dd
68 lines
1.8 KiB
INI
68 lines
1.8 KiB
INI
[tox]
|
|
minversion = 3.9.0
|
|
envlist = linters
|
|
skipdist = True
|
|
requires =
|
|
tox<4
|
|
tox-bindep>=0.2.1
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
install_command = python3 -m pip install {opts} {packages}
|
|
setenv =
|
|
ANSIBLE_FORCE_COLOR=1
|
|
passenv =
|
|
ANSIBLE_*
|
|
CURL_CA_BUNDLE
|
|
DOCKER_*
|
|
MOLECULE_*
|
|
REQUESTS_CA_BUNDLE
|
|
SSH_AUTH_SOCK
|
|
SSL_CERT_FILE
|
|
TERM
|
|
deps =
|
|
-r {toxinidir}/test-requirements.txt
|
|
whitelist_externals = bash
|
|
|
|
[testenv:bindep]
|
|
basepython = python3
|
|
# 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
|
|
|
|
[testenv:releasenotes]
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
basepython = python3
|
|
whitelist_externals = bash
|
|
commands = bash -c ci-scripts/releasenotes_tox.sh
|
|
|
|
[testenv:linters]
|
|
basepython = python3
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
{[testenv]deps}
|
|
jinja2
|
|
pre-commit
|
|
commands =
|
|
ansible-galaxy collection install -f openstack.cloud
|
|
python -m pre_commit run -a
|
|
# TODO(ssbarnea) make is a real pre-commit hook so we can reuse it
|
|
python ci-scripts/validate_jinja2.py
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[testenv:molecule]
|
|
deps =
|
|
{[testenv]deps}
|
|
-r {toxinidir}/molecule-requirements.txt
|
|
commands =
|
|
python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html -rA --molecule-unavailable-driver=fail {tty:-s} {posargs:-k 'molecule and docker'}
|