diff options
Diffstat (limited to '')
-rw-r--r-- | tox.ini | 49 |
1 files changed, 21 insertions, 28 deletions
@@ -1,21 +1,15 @@ [tox] -minversion = 4.0.0 +minversion = 4.6.3 envlist = lint pkg docs py py-devel - py39-ansible212 - py39-ansible213 py39-ansible214 py39-ansible215 - py310-ansible212 - py310-ansible213 py310-ansible214 py310-ansible215 - py311-ansible212 - py311-ansible213 py311-ansible214 py311-ansible215 py312-ansible216 @@ -30,18 +24,16 @@ requires = description = Run the tests devel: ansible devel branch - ansible212: ansible-core 2.12 - ansible213: ansible-core 2.13 ansible214: ansible-core 2.14 ansible215: ansible-core 2.15 ansible216: ansible-core 2.16 + ansible217: ansible-core 2.17 deps = - ansible212: ansible-core>=2.12,<2.13 - ansible213: ansible-core>=2.13,<2.14 ansible214: ansible-core>=2.14,<2.15 ansible215: ansible-core>=2.15,<2.16 ansible216: ansible-core>=2.16,<2.17 + ansible217: ansible-core>=2.17,<2.18 devel: ansible-core @ git+https://github.com/ansible/ansible.git@c5d18c39d81e2b3b10856b2fb76747230e4fac4a # GPLv3+ # avoid installing ansible-core on -devel envs: @@ -49,45 +41,46 @@ deps = extras = test + +commands_pre = + # safety measure to assure we do not accidentally run tests with broken dependencies + {envpython} -m pip check + # cleaning needed to prevent errors between runs + sh -c "rm -f {envdir}/.coverage.* 2>/dev/null || true" commands = sh -c "ansible --version | head -n 1" # We add coverage options but not making them mandatory as we do not want to force # pytest users to run coverage when they just want to run a single test with `pytest -k test` coverage run -m pytest {posargs:} - sh -c "coverage combine -a -q --data-file=.coverage {toxworkdir}/.coverage.*" # needed for upload to codecov.io - -sh -c "COVERAGE_FILE= coverage xml --ignore-errors -q --fail-under=0" - # needed for vscode integration due to https://github.com/ryanluker/vscode-coverage-gutters/issues/403 - -sh -c "COVERAGE_FILE= coverage lcov --ignore-errors -q --fail-under=0" - sh -c "COVERAGE_FILE= coverage report" + {py,py39,py310,py311,py312,py313}: sh -c "coverage combine -q --data-file={envdir}/.coverage {envdir}/.coverage.* && coverage xml --data-file={envdir}/.coverage -o {envdir}/coverage.xml --ignore-errors --fail-under=0 && COVERAGE_FILE={envdir}/.coverage coverage lcov --fail-under=0 --ignore-errors -q && COVERAGE_FILE={envdir}/.coverage coverage report --fail-under=0 --ignore-errors" + # lcov needed for vscode integration due to https://github.com/ryanluker/vscode-coverage-gutters/issues/403 # We fail if files are modified at the end git diff --exit-code -commands_pre = - # safety measure to assure we do not accidentally run tests with broken dependencies - {envpython} -m pip check - # cleaning needed to prevent errors between runs - sh -c "rm -f .coverage {toxworkdir}/.coverage.* 2>/dev/null || true" passenv = CURL_CA_BUNDLE # https proxies, https://github.com/tox-dev/tox/issues/1437 FORCE_COLOR HOME NO_COLOR PYTEST_* # allows developer to define their own preferences + PYTEST_REQPASS # needed for CI + PYTHON* # PYTHONPYCACHEPREFIX, PYTHONIOENCODING, PYTHONBREAKPOINT,... PY_COLORS + RTD_TOKEN REQUESTS_CA_BUNDLE # https proxies + SETUPTOOLS_SCM_DEBUG SSL_CERT_FILE # https proxies + SSH_AUTH_SOCK # may be needed by git LANG - LC_ALL - LC_CTYPE + LC_* setenv = ANSIBLE_DEVEL_WARNING='false' - COVERAGE_FILE = {env:COVERAGE_FILE:{toxworkdir}/.coverage.{envname}} + COVERAGE_FILE = {env:COVERAGE_FILE:{envdir}/.coverage.{envname}} COVERAGE_PROCESS_START={toxinidir}/pyproject.toml PIP_DISABLE_PIP_VERSION_CHECK = 1 PIP_CONSTRAINT = {toxinidir}/.config/constraints.txt PRE_COMMIT_COLOR = always - PYTEST_REQPASS = 94 FORCE_COLOR = 1 allowlist_externals = ansible @@ -152,17 +145,17 @@ commands = pip uninstall -y ansible-compat [testenv:py] -description = Run the tests with {basepython} ansible-core 2.12+ +description = Run the tests with {basepython} ansible-core 2.14+ deps = {[testenv]deps} - ansible-core>=2.12 + ansible-core>=2.14 [testenv:rpm] description = Use packit to build RPM (requires RPM based Linux distro) deps = packitos commands = - packit build in-mock + sh -c "packit build in-mock --root=fedora-40-$(arch)" [testenv:docs] description = Build docs |