[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