[tox]
minversion = 3.8.0
envlist = lint, unit, py{38,39,310,311, 312}
isolated_build = true

[gh-actions]
python =
    3.8: py38, unit
    3.9: py39, unit
    3.10: py310, unit
    3.11: py311, lint, unit
    3.12: py312, lint, unit

[testenv:unit]
description = Unit test
deps = -r{toxinidir}/requirements.txt
commands =
    python -m pytest -v

[testenv:lint]
description = lint source code
deps = -r{toxinidir}/requirements.txt
commands =
    ruff check .
    ruff format --check .
