[tox] envlist = lint, py35,py36,py37,py38,pypy3, py39, docs, coverage isolated_build = True [testenv] commands = python --version pytest {posargs:} extras = testing setenv = COVERAGE_FILE=.coverage.{envname} [testenv:coverage] skip_install = True commands = coverage combine coverage xml coverage report --fail-under=100 deps = coverage setenv = COVERAGE_FILE=.coverage depends = py38 [testenv:lint] skip_install = True commands = black --check --diff . isort --check-only --df src/waitress tests check-manifest # flake8 src/waitress/ tests # build sdist/wheel python -m pep517.build . twine check dist/* deps = black check-manifest flake8 flake8-bugbear isort pep517 readme_renderer twine [testenv:docs] whitelist_externals = make commands = make -C docs html BUILDDIR={envdir} SPHINXOPTS="-W -E" extras = docs [testenv:run-flake8] skip_install = True commands = flake8 src/waitress/ tests deps = flake8 flake8-bugbear [testenv:run-format] skip_install = True commands = isort src/waitress tests black . deps = black isort [testenv:build] skip_install = true commands = # clean up build/ and dist/ folders python -c 'import shutil; shutil.rmtree("build", ignore_errors=True)' # Make sure we aren't forgetting anything check-manifest # build sdist/wheel python -m pep517.build . # Verify all is well twine check dist/* deps = readme_renderer check-manifest pep517 twine