django-analytical/tox.ini
2021-11-27 19:14:13 +01:00

85 lines
1.7 KiB
INI

[tox]
envlist =
isort
flake8
bandit
# Python/Django combinations that are officially supported
py{36,37,38,39}-django{22}
py{36,37,38,39,310}-django{32}
py{38,39,310}-django{40}
readme
docs
[testenv]
description = Unit tests
deps =
coverage
pytest-django
django22: Django>=2.2,<3.0
django32: Django>=3.2,<4.0
django40: Django>=4.0a1,<4.1
commands =
coverage run -m pytest
coverage xml
[gh-actions]
python =
3.6: py36
3.7: py37
3.8: py38
3.9: py39
3.10: py310
[gh-actions:env]
DJANGO =
2.2: django22
3.2: django32
4.0: django40
[testenv:bandit]
description = PyCQA security linter
deps = bandit<1.6
commands = - bandit -r --ini tox.ini
ignore_errors = true
[testenv:docs]
description = Build the HTML documentation
deps = sphinx
commands = sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html
whitelist_externals = make
[testenv:flake8]
description = Static code analysis and code style
deps = flake8
commands = flake8
[testenv:isort]
description = Ensure imports are ordered
skip_install = True
deps = isort
commands = isort tests setup.py analytical --check --diff
[testenv:readme]
description = Ensure README renders on PyPI
deps = twine
commands =
{envpython} setup.py -q sdist bdist_wheel
twine check dist/*
[testenv:clean]
description = Clean up bytecode and build artifacts
deps = pyclean
commands =
pyclean -v {toxinidir}
rm -rf .tox/ build/ dist/ django_analytical.egg-info/ .coverage coverage.xml
whitelist_externals =
rm
[bandit]
exclude = .cache,.git,.tox,build,dist,docs,tests
targets = .
[flake8]
exclude = .cache,.git,.tox,build,dist
max-line-length = 100