diff options
Diffstat (limited to 'tox.ini')
-rw-r--r-- | tox.ini | 42 |
1 files changed, 37 insertions, 5 deletions
@@ -1,7 +1,6 @@ [tox] -minversion = 2.4.0 +minversion = 4.2.0 envlist = py{39,310,311,312,313} -isolated_build = True [testenv] usedevelop = True @@ -16,6 +15,9 @@ passenv = DO_EPUBCHECK EPUBCHECK_PATH TERM + CLEAN + BUILDER + READTHEDOCS description = py{39,310,311,312,313}: Run unit tests against {envname}. extras = @@ -26,17 +28,29 @@ setenv = commands= python -X dev -X warn_default_encoding -m pytest --durations 25 {posargs} +[testenv:lint] +description = + Run linters. +extras = + lint +# If you update any of these commands, don't forget to update the equivalent +# GitHub Workflow step +commands = + ruff . --diff --format github + flake8 . + isort --check-only --diff . + mypy sphinx/ + [testenv:docs] -basepython = python3 description = Build documentation. extras = docs commands = - sphinx-build -M html ./doc ./build/sphinx -W --keep-going + python -c "import shutil; shutil.rmtree('./build/sphinx', ignore_errors=True) if '{env:CLEAN:}' else None" + sphinx-build -M {env:BUILDER:html} ./doc ./build/sphinx -nW --keep-going {posargs} [testenv:docs-live] -basepython = python3 description = Build documentation. extras = @@ -53,3 +67,21 @@ deps = bindep commands = bindep test + +[testenv:ruff] +description = + Run ruff formatting and linting. +extras = + lint +commands = + ruff format . + ruff check --fix . + +[testenv:mypy] +description = + Run mypy type checking. +extras = + lint + test +commands = + mypy {posargs} |