From 9138c0cf8b69cb39690826bcaaca25d21ac4bb37 Mon Sep 17 00:00:00 2001 From: Roman Lutz Date: Wed, 27 May 2026 21:24:03 -0700 Subject: [PATCH] FIX: RTD build - add --html flag so static index.html is generated The Read the Docs build was completing with exit-code 0 on every command but was being marked as failed with the post-build notification: Index file is not present in HTML output directory Your documentation did not generate an index.html at its root directory. Root cause: in jupyter-book v2 (myst-cli), --all means `build all frontmatter exports'' (PDF, per doc/myst.yml), not `all output formats''. It does not produce the static HTML site. The static site requires the explicit --html flag, which writes to _build/html/ (not _build/site/). The Makefile's docs-build-all target already uses --all --html --pdf --strict for exactly this reason; .readthedocs.yaml was just never brought into alignment. Verified locally: produces _build/html/index.html (194 KB) and 1897 files. The cp source is updated to match the new output directory. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .readthedocs.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index a54b7d22f5..8374a835b2 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -18,6 +18,9 @@ build: - python build_scripts/gen_api_md.py build: html: - - cd doc && jupyter-book build --all + # --all builds frontmatter exports (PDF, per doc/myst.yml); --html is + # required to produce the static HTML site (_build/html/index.html) + # that RTD serves. Mirrors the Makefile's docs-build-all target. + - cd doc && jupyter-book build --all --html - mkdir -p $READTHEDOCS_OUTPUT/html - - cp -r doc/_build/site/* $READTHEDOCS_OUTPUT/html/ + - cp -r doc/_build/html/* $READTHEDOCS_OUTPUT/html/