[tox] minversion = 3.9.0 envlist = linters [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 allowlist_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 allowlist_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'}