Newer
Older
minversion = 4
envlist =
black
flake8
mypy
py3-{minimal,full-cover}
extras =
full: testing
minimal: testing-minimal
cover: pytest-cov
pytest --doctest-modules \
cover: --cov={envsitepackagesdir}/swh/model --cov-branch \
full: {envsitepackagesdir}/swh/model \
minimal: {envsitepackagesdir}/swh/model/tests/test_cli.py -m 'not requires_optional_deps' \
{posargs}
# --rootdir and --import-mode must NOT be used here due to the (hack-ish) way of
# executing tests (using tox-in-tox); see below
[testenv:py3{,7,8,9,10,11,12,13},pypy3{,5,6,7,8,9,10,11,12,13}]
skip_install = true
allowlist_externals = tox
tox run -e {env_name}-full-cover -- {posargs}
tox run -e {env_name}-minimal
flake8==5.0.4
flake8-bugbear==22.9.23
pycodestyle==2.9.1
[testenv:mypy]
extras =
testing
commands =
mypy swh
# build documentation outside swh-environment using the current
# git HEAD of swh-docs, is executed on CI for each diff to prevent
# breaking doc build
[testenv:sphinx]
allowlist_externals = make
extras =
testing
deps =
# fetch and install swh-docs
git+https://gitlab.softwareheritage.org/swh/devel/swh-docs.git\#egg=swh.docs
setenv =
SWH_PACKAGE_DOC_TOX_BUILD = 1
# turn warnings into errors
SPHINXOPTS = -W
commands =