django-downloadview/tox.ini
2025-10-21 09:52:06 +02:00

88 lines
1.9 KiB
INI

[tox]
envlist =
py{38,39,310,311,312}-dj{42}-{unittest,pytest,checkmigrations}
py{310,311,312,313,314}-dj{50}-{unittest,pytest,checkmigrations}
py{310,311,312,313,314}-dj{51}-{unittest,pytest,checkmigrations}
py{310,311,312,313,314}-dj{52}-{unittest,pytest,checkmigrations}
py{310,311,312,313,314}-dj{main}-{unittest,pytest,checkmigrations}
lint
sphinx
readme
[gh-actions]
python =
3.8: py38, lint, sphinx, readme
3.9: py39
3.10: py310
3.11: py311
3.12: py312
3.13: py313
3.14: py314
[gh-actions:env]
DJANGO =
4.2: dj42
5.0: dj50
5.1: dj51
5.2: dj52
main: djmain
[testenv]
deps =
coverage
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
pytest
pytest-cov
commands =
pip install -e .
pip install -e demo
# doctests and unit tests
pytest --cov=django_downloadview --cov=demoproject {posargs}
# demo project integration tests
coverage run --append {envbindir}/demo test {posargs: demoproject}
coverage xml
pip freeze
ignore_outcome =
djmain: True
[testenv:lint]
deps =
flake8
black
isort
commands =
flake8 demo django_downloadview tests
black --check demo django_downloadview tests
isort --check-only --recursive demo django_downloadview tests
[testenv:sphinx]
deps =
Sphinx
commands =
pip install -e .
make --directory=docs SPHINXOPTS='-W' clean {posargs:html doctest linkcheck}
whitelist_externals =
make
[testenv:readme]
description = Ensure README renders on PyPI
deps = twine
commands =
{envpython} setup.py -q sdist bdist_wheel
twine check dist/*
[flake8]
max-line-length = 88
ignore = E203, W503
[coverage:run]
source = django_downloadview,demo
[pytest]
DJANGO_SETTINGS_MODULE = demoproject.settings
addopts = --doctest-modules --ignore=docs/
python_files = tests/*.py