sphinx-autoapi/tox.ini

74 lines
1.3 KiB
INI

[tox]
isolated_build = true
envlist =
# Keep this in sync with .github/workflows/main.yml
py{38,39,310,311,312}
formatting
typecheck
lint
docs
release_notes
[gh-actions]
python =
3.8: py38
3.9: py39
3.10: py310
3.11: py311, formatting, typecheck, lint, docs, release_notes
3.12: py312
[testenv]
deps =
beautifulsoup4
pytest
commands =
pytest {posargs}
[testenv:formatting]
basepython = python3
skip_install = true
deps =
black
commands =
black --check --diff autoapi tests
[testenv:lint]
skip_install = true
deps =
ruff
commands =
ruff check {posargs:autoapi}
[testenv:typecheck]
deps =
mypy
types-docutils
types-PyYAML
commands =
mypy {posargs:autoapi}
[testenv:docs]
extras =
docs
deps =
changedir = {toxinidir}/docs
commands =
sphinx-build -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
[testenv:release_notes]
deps =
towncrier
importlib-resources<6 # pinned due to https://github.com/twisted/towncrier/issues/528
commands =
towncrier {posargs:check}
[testenv:release]
skip_install = true
deps =
build
twine
commands =
python -c "import shutil, os; os.path.isdir('dist') and shutil.rmtree('dist')"
python -m build
twine upload dist/*