[tox]
minversion = 3.14.0
envlist = py37, py38, py39, py310, py311, lint, version-info, pytest-min
isolated_build = true
passenv =
    CI

[testenv]
extras = testing
deps =
     --requirement dependencies/default/requirements.txt
     --constraint dependencies/default/constraints.txt
commands = make test
allowlist_externals =
    make

[testenv:pytest-min]
extras = testing
deps =
     --requirement dependencies/pytest-min/requirements.txt
     --constraint dependencies/pytest-min/constraints.txt
commands = make test
allowlist_externals =
    make

[testenv:lint]
basepython = python3.10
extras = testing
deps =
    pre-commit == 2.16.0
commands =
    make lint
allowlist_externals =
    make

[testenv:coverage-report]
deps = coverage
skip_install = true
commands =
    coverage combine
    coverage report

[testenv:version-info]
deps =
    packaging == 21.3
commands =
    python ./tools/get-version.py

[gh-actions]
python =
    3.7: py37, pytest-min
    3.8: py38
    3.9: py39
    3.10: py310
    3.11-dev: py311
    pypy3: pypy3
