[tox] envlist = # list of supported Django/Python versions: py{38,39,py3}-dj{32} py{38,39,310,311,312}-dj{42} py{310,311,312}-dj{50,51,52,main} py312-{lint,docs} [gh-actions] python = 3.8: py38 3.9: py39 3.10: py310 3.11: py311 3.12: py312 pypy3: pypy3 [testenv] deps = setuptools -rrequirements.txt dj32: django>=3.2,<4.0 dj42: django>=4.2,<5.0 dj50: django>=5.0,<5.1 dj51: django>=5.1,<5.2 dj52: django>=5.2,<5.3 djmain: https://github.com/django/django/archive/main.tar.gz usedevelop = True commands = {envbindir}/coverage run --source=defender {envbindir}/django-admin test defender --settings=defender.ci_settings {envbindir}/coverage report -m {envbindir}/coverage xml ignore_outcome = djmain: True ignore_errors = djmain: True [testenv:py312-docs] basepython = python3.12 deps = -rrequirements.txt Sphinx sphinx_rtd_theme setuptools commands = sphinx-build -b html -d {envtmpdir}/doctrees docs {envtmpdir}/html [testenv:py312-lint] basepython = python3.12 deps = twine check-manifest setuptools setuptools_scm commands = check-manifest -v python setup.py sdist twine check dist/*