
In order to make molecule tests more widespread across roles to cover variety of usecases, a centralized approach on managing molecule requirements is applied. It ensures that there's no need to separately maintain requirements for molecule and they can be aligned from integrated repo. Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/938571 Change-Id: I4f0b6705f5bdd0ba14225775108732db32600cb3
58 lines
1.3 KiB
INI
58 lines
1.3 KiB
INI
[tox]
|
|
minversion = 4.0
|
|
skipsdist = True
|
|
envlist = linters, molecule
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = False
|
|
commands =
|
|
/usr/bin/find . -type f -name "*.pyc" -delete
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-rhttps://opendev.org/openstack/openstack-ansible/raw/branch/{env:TEST_BRANCH:master}/test-requirements.txt
|
|
passenv =
|
|
COMMON_TESTS_PATH
|
|
HOME
|
|
http_proxy
|
|
HTTP_PROXY
|
|
https_proxy
|
|
HTTPS_PROXY
|
|
no_proxy
|
|
NO_PROXY
|
|
TESTING_BRANCH
|
|
TESTING_HOME
|
|
USER
|
|
allowlist_externals =
|
|
bash
|
|
setenv =
|
|
PYTHONUNBUFFERED=1
|
|
TEST_IDEMPOTENCE=true
|
|
VIRTUAL_ENV={envdir}
|
|
WORKING_DIR={toxinidir}
|
|
|
|
[testenv:linters]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
ANSIBLE_ROLES_PATH={envdir}
|
|
commands =
|
|
ansible-galaxy role install git+file://{toxinidir} --roles-path {envdir} --force
|
|
ansible-lint {toxinidir}/examples/playbook.yml
|
|
yamllint {toxinidir}
|
|
|
|
|
|
[testenv:molecule]
|
|
# You can use DOCKER_REGISTRY and DOCKER_IMAGE_TAG to switch between
|
|
# tested distros. I.e:
|
|
# DOCKER_IMAGE_TAG=ubuntu-systemd:jammy tox -e molecule
|
|
|
|
commands =
|
|
molecule test
|
|
|
|
passenv =
|
|
{[testenv]passenv}
|
|
DOCKER_REGISTRY
|
|
DOCKER_IMAGE_TAG
|
|
DOCKER_COMMAND
|