diff --git a/tox.ini b/tox.ini new file mode 100644 index 00000000..24e44a22 --- /dev/null +++ b/tox.ini @@ -0,0 +1,45 @@ +[tox] +minversion = 3.9.0 +envlist = + lint + docs + py{36,37,38,39} +isolated_build = True + +[testenv] +description = Run unit-testing +# develop temporary disabled as project packaging does not work with it yet: +# https://github.com/willmcgugan/rich/issues/345 +usedevelop = False +deps = + -r requirements-dev.txt +# do not put * in passenv as it may break builds due to reduced isolation +passenv = + CI + GITHUB_* + HOME + PYTEST_* + SSH_AUTH_SOCK + TERM +setenv = + PYTHONDONTWRITEBYTECODE=1 + PYTHONUNBUFFERED=1 +commands = + # failsafe as older pip may install incompatible dependencies + pip check + pytest --cov-report term-missing --cov=rich tests/ {posargs} + +[testenv:lint] +description = Runs all linting tasks +commands = + black . + mypy -p rich --ignore-missing-imports --warn-unreachable +skip_install = true + +[testenv:docs] +description = Builds documentation +changedir = docs +deps = + -r docs/requirements.txt +commands = + sphinx-build -M html source build