diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 00000000..85514cc9 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,3 @@ +-r requirements-test.txt +-r docs/requirements.txt +django==5.0 diff --git a/requirements-test.txt b/requirements-test.txt new file mode 100644 index 00000000..8405e71b --- /dev/null +++ b/requirements-test.txt @@ -0,0 +1,3 @@ +tox==4.11.4 +coverage==7.3.4 +ruff==0.1.9 diff --git a/tox.ini b/tox.ini new file mode 100644 index 00000000..2501070a --- /dev/null +++ b/tox.ini @@ -0,0 +1,50 @@ +[tox] +args_are_paths = false +envlist = + py38-{3.2,4.1,4.2}, + py39-{3.2,4.1,4.2}, + py310-{3.2,4.1,4.2,5.0,main}, + py311-{4.1,4.2,5.0,main}, + py312-{4.2,5.0,main}, + docs, + lint, + +[testenv] +basepython = + py37: python3.7 + py38: python3.8 + py39: python3.9 + py310: python3.10 + py311: python3.11 + py312: python3.12 +usedevelop = true +pip_pre = true +setenv = + PYTHONPATH={toxinidir} + PYTHONWARNINGS=all +commands = + python manage.py test {posargs} +deps = + 3.2: Django==3.2.* + 4.0: Django==4.0.* + 4.1: Django==4.1.* + 4.2: Django==4.2.* + 5.0: Django==5.0.* + main: https://github.com/django/django/archive/main.tar.gz + -r{toxinidir}/requirements-test.txt + +[testenv:ruff] +basepython = python3.11 +allowlist_externals = ruff +deps = ruff +commands = ruff . + +[testenv:docs] +basepython = python3.11 +allowlist_externals = make +setenv = + PYTHONWARNINGS=default +commands = + make docs +deps = + -r{toxinidir}/docs/requirements.txt