diff --git a/tox.ini b/tox.ini
--- a/tox.ini
+++ b/tox.ini
@@ -49,3 +49,48 @@
   mypy
 commands =
   mypy swh
+
+# build documentation outside swh-environment
+# use the current git HEAD of swh-docs
+[testenv:sphinx]
+whitelist_externals = make
+usedevelop = true
+extras =
+  testing-core
+  logging
+  db
+  testing-db
+  http
+deps =
+  # fetch and install swh-docs in develop mode
+  -e git+https://forge.softwareheritage.org/source/swh-docs#egg=swh.docs
+
+setenv =
+  SWH_PACKAGE_DOC_TOX_BUILD = 1
+  # turn warnings into errors
+  SPHINXOPTS = -W
+commands =
+  make -I ../.tox/sphinx/src/swh-docs/swh/ -C docs
+
+
+# build documentation only inside swh-environment
+# use local state of swh-docs package
+[testenv:sphinx-dev]
+whitelist_externals = make
+usedevelop = true
+extras =
+  testing-core
+  logging
+  db
+  testing-db
+  http
+deps =
+  # install swh-docs in develop mode
+  -e ../swh-docs
+
+setenv =
+  SWH_PACKAGE_DOC_TOX_BUILD = 1
+  # turn warnings into errors
+  SPHINXOPTS = -W
+commands =
+  make -I ../.tox/sphinx-dev/src/swh-docs/swh/ -C docs