[tox] envlist = py{36,37,38,39}-dj{22,30,31,master} lint sphinx readme [gh-actions] python = 3.6: py36 3.7: py37 3.8: py38, lint, sphinx, readme 3.9: py39 [gh-actions:env] DJANGO = 2.2: dj22 3.0: dj30 3.1: dj31 master: djmaster [testenv] deps = coverage dj22: Django>=2.2,<3.0 dj30: Django>=3.0,<3.1 dj31: Django>=3.1,<3.2 djmaster: https://github.com/django/django/archive/master.tar.gz nose commands = pip install -e . pip install -e demo python -Wd {envbindir}/demo test --cover-package=django_downloadview --cover-package=demoproject --cover-xml {posargs: tests demoproject} pip freeze ignore_outcome = djmaster: 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