[pytest] addopts = -ra testpaths = tests filterwarnings = once::Warning ignore:::pympler[.*] [gh-actions] python = 3.6: py36 3.7: py37, docs 3.8: py38, typing 3.9: py39 [gh-actions:env] PLATFORM = ubuntu-latest: linux windows-latest: windows [tox] envlist = lint typing py{36,37,38,39}-crypto-{linux,windows} py{36,37,38,39}-nocrypto-{linux,windows} docs pypi-description coverage-report isolated_build = True [testenv] # Prevent random setuptools/pip breakages like # https://github.com/pypa/setuptools/issues/1042 from breaking our builds. setenv = VIRTUALENV_NO_DOWNLOAD=1 extras = tests py{36,37,38,39}-crypto-{linux,windows}: crypto commands = {envpython} -b -m coverage run -m pytest {posargs} [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -n -T -W -b html -d {envtmpdir}/doctrees docs docs/_build/html sphinx-build -n -T -W -b doctest -d {envtmpdir}/doctrees docs docs/_build/html python -m doctest README.rst [testenv:typing] basepython = python3.8 extras = dev commands = mypy jwt [testenv:lint] basepython = python3.8 extras = dev passenv = HOMEPATH # needed on Windows commands = pre-commit run --all-files [testenv:pypi-description] basepython = python3.8 skip_install = true deps = twine pip >= 18.0.0 commands = pip wheel -w {envtmpdir}/build --no-deps . twine check {envtmpdir}/build/* [testenv:coverage-report] basepython = python3.8 skip_install = true deps = coverage[toml]==5.0.4 commands = coverage combine coverage report