[tox] envlist = py{39,310,311,312}{-sphinx6,-sphinx7,-sphinx8,-sphinx9,-devdeps,-docs,-linkcheck,-pydata-sphinx-theme} [testenv] allowlist_externals = make git extras = dev commands = # Have to do this here as myst-parser in the install step forces the version. sphinx6: pip install -U "sphinx>=6.0,<7.0" sphinx7: pip install -U "sphinx>=7.0,<8.0" sphinx8: pip install -U "sphinx>=8.0,<9.0" sphinx9: pip install -U "sphinx>=9.0,<10.0" devdeps: pip install -U "docutils @ git+https://github.com/docutils/docutils.git\#\&subdirectory=docutils" devdeps: pip install -U "git+https://github.com/sphinx-doc/sphinx" pip freeze --all --no-input pytest -vvv -r a --pyargs ablog make tests [testenv:docs] changedir = docs description = Invoke sphinx-build to build the HTML docs commands = sphinx-build -j auto --color -W --keep-going -b html -d _build/.doctrees . _build/html {posargs} python -c 'import pathlib; print("Documentation available under file://\{0\}".format(pathlib.Path(r"{toxinidir}") / "docs" / "_build" / "index.html"))' [testenv:pydata-sphinx-theme] commands = rm -rf pydata-sphinx-theme || true git clone git@github.com:pydata/pydata-sphinx-theme.git --depth 1 pydata-sphinx-theme pip install -e "pydata-sphinx-theme/.[dev]" pip freeze --all --no-input sphinx-build --color -W --keep-going -b html -d _build/.doctrees pydata-sphinx-theme/docs pydata-sphinx-theme/docs/_build/html {posargs} [testenv:linkcheck] changedir = docs description = Invoke sphinx-build to check linkcheck works commands = sphinx-build --color -W --keep-going -b linkcheck . _build/html {posargs}