Skip to content

Commit 64ad585

Browse files
committed
Build online docs (RTD) with -W and dependencies
This configures Read the Docs builds to be more like local builds in two ways: - Pass "-W", as is done in a local build with "make -C doc html", so that if there are broken references, the build fails. - Install dependencies. This configures the Python environment, via the python.install key, so that RTD builds install requirements. More specifically on dependency installation, it does two things: 1. The equivalent of "pip install .", which installs the project and its dependencies (though not any extras). This includes the gitdb dependency, which is needed to import GitPython's git module to populate sections in the API Reference page (#1840). 2. The equivalent of "pip install -r doc/requirements.txt", which installs the additional Sphinx-related dependencies used when building documentation locally. Installing Sphinx-related dependencies is useful for three reasons: a. Least importantly, it should increase consistency between remote (RTD) and local documentation builds. b. It may be needed to avoid warnings that are not being fixed at this time, while still allowing the build to succeed with the "-W" option (see above on that change) that causes failure for immediately addressable problems. The effect of newer versions of Sphinx carrying a few extra hard-to-fix warnings for GitPython is noted in #1802 (and is why they are not upgraded in #1803). c. One of the documentation build dependencies listed in doc/requirements.txt is sphinx_rtd_theme. In 634151a (for #1794) the line specifying this theme was commented out, since it apparently broke in the build. This may allow it to be used again (or can be replaced with another custom theme if desired). This also reenables the sphinx_rtd_theme theme disabled in 634151a. Finally, this makes minor changes to .readthedocs.yml's comments and formatting so the comments are accurate for GitPython details and so the file is formatted in the same style as other YAML here.
1 parent d3d177c commit 64ad585

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

.readthedocs.yaml

+12-10
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Required
55
version: 2
66

7-
# Set the OS, Python version and other tools you might need
7+
# Set the OS, Python version and other tools you might need.
88
build:
99
os: ubuntu-22.04
1010
tools:
@@ -14,22 +14,24 @@ build:
1414
# rust: "1.70"
1515
# golang: "1.20"
1616

17-
# Build documentation in the "docs/" directory with Sphinx
17+
# Build documentation in the "doc/" directory with Sphinx.
1818
sphinx:
1919
configuration: doc/source/conf.py
2020
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
2121
# builder: "dirhtml"
2222
# Fail on all warnings to avoid broken references
23-
# fail_on_warning: true
23+
fail_on_warning: true
2424

25-
# Optionally build your docs in additional formats such as PDF and ePub
25+
# Optionally build your docs in additional formats such as PDF and ePub.
2626
# formats:
27-
# - pdf
28-
# - epub
27+
# - pdf
28+
# - epub
2929

3030
# Optional but recommended, declare the Python requirements required
31-
# to build your documentation
31+
# to build your documentation.
3232
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
33-
# python:
34-
# install:
35-
# - requirements: docs/requirements.txt
33+
python:
34+
install:
35+
- method: pip
36+
path: .
37+
- requirements: doc/requirements.txt

doc/source/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
# Options for HTML output
9494
# -----------------------
9595

96-
# html_theme = "sphinx_rtd_theme"
96+
html_theme = "sphinx_rtd_theme"
9797
html_theme_options = {}
9898

9999
# The name for this set of Sphinx documents. If None, it defaults to

0 commit comments

Comments
 (0)