[tox] env_list = py313,py314,coverage isolated_build = true requires = tox>=4 tox-uv>=1 [testenv] package = wheel dependency_groups = test change_dir = {env_tmp_dir} set_env = COVERAGE_FILE = {toxworkdir}/coverage/coverage.db commands = pytest {tox_root}/tests --cov-config={tox_root}/pyproject.toml --cov-fail-under=0 {posargs} [testenv:coverage] package = skip depends = py313,py314 change_dir = {tox_root} dependency_groups = test set_env = COVERAGE_FILE = {toxworkdir}/coverage/coverage.db commands = python3 -m coverage combine python3 -m coverage xml -o .tox/coverage.xml --ignore python3 -m coverage report -m --fail-under=94 --ignore --skip-covered [docker:pypi-repo] dockerfile = {tox_root}/tests/dockerfiles/repos/pypi-repo.Dockerfile expose = PYPI_REPO_PORT=8443/tcp healthcheck_cmd = wget --no-check-certificate -qO- https://127.0.0.1:8443/simple/idconfiguratortestpkg/ || exit 1 healthcheck_interval = 1 healthcheck_retries = 30 healthcheck_timeout = 2 healthcheck_start_period = 1 [testenv:module-python] package = skip change_dir = {tox_root} dependency_groups = dev docker = pypi-repo allowlist_externals = docker commands = python3 -m id_tools test render-config tests/configs/Python.yaml.tmpl {toxworkdir}/configs/Python.yaml docker buildx build --platform linux/amd64 --add-host=host.docker.internal:host-gateway --build-context generated-config={toxworkdir}/configs -f tests/dockerfiles/Python.Dockerfile -t id-configurator-python .