django-downloadview/tox.ini
2022-08-04 09:22:28 -04:00

81 lines
1.6 KiB
INI

[tox]
envlist =
py{37,38,39,310}-dj{22,31,32}
py{38,39,310}-dj{40,main}
lint
sphinx
readme
[gh-actions]
python =
3.7: py37
3.8: py38, lint, sphinx, readme
3.9: py39
3.10: py310
[gh-actions:env]
DJANGO =
2.2: dj22
3.1: dj31
3.2: dj32
4.0: dj40
main: djmain
[testenv]
deps =
coverage
dj22: Django>=2.2,<3.0
dj31: Django>=3.1,<3.2
dj32: Django>=3.2,<3.3
dj40: Django>=4.0,<4.1
djmain: https://github.com/django/django/archive/main.tar.gz
pytest
pytest-cov
commands =
pip install -e .
pip install -e demo
# doctests
pytest --cov=django_downloadview --cov=demoproject {posargs}
# all other test cases
coverage run --append {envbindir}/demo test {posargs: tests 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/