Don't fail documentation build on examples exceptions
authorDebian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Sat, 21 Sep 2024 11:58:14 +0000 (12:58 +0100)
committerRebecca N. Palmer <rebecca_palmer@zoho.com>
Sat, 21 Sep 2024 11:58:14 +0000 (12:58 +0100)
If example code outputs an error when run,
ipython (ipython:: blocks) now fails the whole build by default,
and tools/nbgenerate.py (.ipynb files) now leaves out that file
(leaving a broken link in the examples index).

As some examples use downloaded data and are hence expected to be
unrunnable on a Debian buildd, this instead keeps them
(::ipython with error output, .ipynb without output).

Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
Forwarded: not-needed

Gbp-Pq: Name sphinx_ignore_errors.patch

docs/Makefile
docs/source/conf.py

index a77686dcd10e7f30df9933b6d8772f4478d1e934..48d35e4c72112030b89a968282008e46ceebfede 100644 (file)
@@ -34,6 +34,8 @@ html:
        mkdir -p $(BUILDDIR)/source/examples/notebooks/generated
        # Black list notebooks from doc build here
        $(TOOLSPATH)$(NOTEBOOKBUILD) --parallel --report-errors --skip-existing --execute-only --execution-blacklist statespace_custom_models
+       @echo "Copying notebooks that failed execution (there are usually several in Debian because some need network and/or dependencies we don't have)"
+       cp -nav ../examples/notebooks/*.ipynb -t source/examples/notebooks/generated || true
        @echo "Running sphinx-build"
        @echo @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(O)
        @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(O)
index ead6eaf061203d668015d9786a475ecdd151a187..345d3b8ed544c67c4c3579f0a491a6ae211ab403 100644 (file)
@@ -66,6 +66,7 @@ else:
 
 # nbsphinx options
 nbsphinx_allow_errors = True
+ipython_warning_is_error = False
 # sphinxcontrib-spelling options
 spelling_word_list_filename = ['spelling_wordlist.txt', 'names_wordlist.txt']
 spelling_ignore_pypi_package_names = True