Don't fail documentation build on examples exceptions
authorDebian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Sat, 11 Nov 2023 20:34:28 +0000 (20:34 +0000)
committerRebecca N. Palmer <rebecca_palmer@zoho.com>
Sat, 11 Nov 2023 20:34:28 +0000 (20:34 +0000)
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 ad44a2998b7ea2a10007f518f77bcee21404bcb1..a3caf54f7a38b6e1ef790b5e67109ff01a5d4f6e 100644 (file)
@@ -67,6 +67,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