Skip to content

Commit

Permalink
DX: colorize sphinx-build output (#208)
Browse files Browse the repository at this point in the history
* DX: pass all environment variables in `tox` config

* MAINT: ignore linkcheck problem onlinelibrary.wiley.com
  https://github.com/ComPWA/qrules/actions/runs/4355405999/jobs/7611986172#step:5:176

* MAINT: remove quotations from environment values

* MAINT: sort config keys in `tox.ini`
  • Loading branch information
redeboer authored Mar 7, 2023
1 parent 1abb7a6 commit 9a81231
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 51 deletions.
3 changes: 3 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,9 @@ def get_version(package_name: str) -> str:

# Settings for linkcheck
linkcheck_anchors = False
linkcheck_ignore = [
"https://doi.org/10.1002/andp.19955070504", # 403 for onlinelibrary.wiley.com
]

# Settings for myst_nb
nb_execution_show_tb = True
Expand Down
91 changes: 40 additions & 51 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,19 @@ envlist =
py,
doc,
sty,
passenv = PYTHONPATH
skip_install = True
skip_missing_interpreters = True
skipsdist = True

[testenv]
description =
Run all fast unit tests and doctests
allowlist_externals =
pytest
commands =
pytest src {posargs:tests/unit}
description =
Run all fast unit tests and doctests

[testenv:cov]
description =
Compute the test coverage of all unit tests
allowlist_externals =
pytest
commands =
Expand All @@ -27,36 +24,27 @@ commands =
--cov-report=html \
--cov-report=xml \
--cov=qrules
description =
Compute the test coverage of all unit tests

[testenv:doc]
description =
Build documentation and API through Sphinx
allowlist_externals =
sphinx-build
passenv =
EXECUTE_NB
GITHUB_REPO
GITHUB_TOKEN
READTHEDOCS_VERSION
commands =
sphinx-build \
--color \
--keep-going \
-TW \
-b html \
docs/ docs/_build/html
description =
Build documentation and API through Sphinx
passenv = *
setenv =
FORCE_COLOR = yes

[testenv:doclive]
description =
Set up a server to directly preview changes to the HTML pages
allowlist_externals =
sphinx-autobuild
passenv =
EXECUTE_NB
GITHUB_REPO
GITHUB_TOKEN
READTHEDOCS_VERSION
TERM
commands =
sphinx-autobuild \
--open-browser \
Expand All @@ -77,85 +65,84 @@ commands =
--watch docs \
--watch src \
docs/ docs/_build/html

[testenv:docnb]
description =
Build documentation through Sphinx WITH output of Jupyter notebooks
passenv =
GITHUB_REPO
GITHUB_TOKEN
READTHEDOCS_VERSION
Set up a server to directly preview changes to the HTML pages
passenv = *
setenv =
EXECUTE_NB = "yes"
FORCE_COLOR = yes

[testenv:docnb]
allowlist_externals =
sphinx-build
commands =
sphinx-build \
--color \
--keep-going \
-TW \
-b html \
docs/ docs/_build/html
description =
Build documentation through Sphinx WITH output of Jupyter notebooks
passenv = *
setenv =
EXECUTE_NB = yes
FORCE_COLOR = yes

[testenv:jcache]
description =
Inspect Jupyter cache
allowlist_externals =
jcache
changedir = docs/_build
commands =
jcache {posargs:notebook list}
description =
Inspect Jupyter cache

[testenv:linkcheck]
description =
Check external links in the documentation (requires internet connection)
passenv =
EXECUTE_NB
READTHEDOCS_VERSION
allowlist_externals =
sphinx-build
commands =
sphinx-build \
--color \
-T \
-b linkcheck \
docs/ docs/_build/linkcheck
description =
Check external links in the documentation (requires internet connection)
passenv = *
setenv =
FORCE_COLOR = yes

[testenv:nb]
description =
Run all notebooks with pytest
allowlist_externals =
pytest
commands =
pytest --nbmake {posargs:docs}
description =
Run all notebooks with pytest

[testenv:pydeps]
description =
Visualize module dependencies
deps =
pydeps
changedir = src
commands =
pydeps qrules \
-o ../module_structure.svg \
--exclude *._* \
--max-bacon=1 \
--noshow
passenv = HOME
deps =
pydeps
description =
Visualize module dependencies
passenv = *

[testenv:sty]
description =
Perform all linting, formatting, and spelling checks
setenv =
SKIP = pyright
allowlist_externals =
pre-commit
commands =
pre-commit run {posargs} -a
description =
Perform all linting, formatting, and spelling checks
setenv =
SKIP = pyright

[testenv:test]
description =
Run ALL tests, including the slow channel tests, and compute coverage
allowlist_externals =
pytest
commands =
Expand All @@ -164,3 +151,5 @@ commands =
--cov-report=html \
--cov-report=xml \
--cov=qrules
description =
Run ALL tests, including the slow channel tests, and compute coverage

0 comments on commit 9a81231

Please sign in to comment.