Skip to content
Snippets Groups Projects
tox.ini 1.53 KiB
Newer Older
David Douard's avatar
David Douard committed
[tox]
minversion = 4
envlist =
  black
  flake8
  mypy
  py3-{minimal,full-cover}
David Douard's avatar
David Douard committed

[testenv]
  full: testing
  minimal: testing-minimal
David Douard's avatar
David Douard committed
deps =
David Douard's avatar
David Douard committed
commands =
  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}]
allowlist_externals = tox
  tox run -e {env_name}-full-cover -- {posargs}
  tox run -e {env_name}-minimal
David Douard's avatar
David Douard committed
[testenv:black]
skip_install = true
deps =
  black==23.1.0
David Douard's avatar
David Douard committed
commands =
  {envpython} -m black --check swh

David Douard's avatar
David Douard committed
[testenv:flake8]
skip_install = true
deps =
  flake8==5.0.4
  flake8-bugbear==22.9.23
  pycodestyle==2.9.1
David Douard's avatar
David Douard committed
commands =
  {envpython} -m flake8

# 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
  # 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 =
  make -I {env_dir}/share/swh-docs -C docs