[tox]
# sort by django version, next by python version
envlist=
    flake8
    py{310,311,312}-django50
    py{38,39,310,311}-django42
    py{38,39,310,311}-django41
    py{38,39,310}-django40
    py{38,39,310}-django32

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

[testenv]
passenv=
    EMAIL_IMAP_SERVER
    EMAIL_ACCOUNT
    EMAIL_PASSWORD
    EMAIL_SMTP_SERVER
deps=
    django50: Django==5.0,<5.1
    django42: Django>=4.2,<5.0
    django41: Django>=4.1,<4.2
    django40: Django>=4.0,<4.1
    django32: Django>=3.2,<4.0
    -r{toxinidir}/test_requirements.txt
sitepackages=False
commands=
    python {toxinidir}/manage.py makemigrations --check --dry-run
    python -Wd manage.py test -v2 {posargs}

[testenv:docs]
deps=
    sphinx
    -r{toxinidir}/rtd_requirements.txt
    .
commands=make html clean SPHINXOPTS="-W --keep-going"
changedir={toxinidir}/docs
allowlist_externals=make

[testenv:flake8]
deps=flake8
commands=flake8 django_mailbox
