Skip to content

Commit

Permalink
GH-103903: Test the minimum Sphinx version in CI (#103904)
Browse files Browse the repository at this point in the history
  • Loading branch information
AA-Turner authored Apr 27, 2023
1 parent 0b7fd8f commit 44b5c21
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 5 deletions.
20 changes: 20 additions & 0 deletions .github/workflows/doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,26 @@ jobs:
# Build docs with the '-n' (nit-picky) option, convert warnings to errors (-W)
make -C Doc/ PYTHON=../python SPHINXOPTS="-q -n -W --keep-going" html 2>&1
# This build doesn't use problem matchers or check annotations
# It also does not run 'make check', as sphinx-lint is not installed into the
# environment.
build_doc_oldest_supported_sphinx:
name: 'Docs (Oldest Sphinx)'
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- name: 'Set up Python'
uses: actions/setup-python@v4
with:
python-version: '3.11' # known to work with Sphinx 3.2
cache: 'pip'
cache-dependency-path: 'Doc/requirements-oldest-sphinx.txt'
- name: 'Install build dependencies'
run: make -C Doc/ venv REQUIREMENTS="requirements-oldest-sphinx.txt"
- name: 'Build HTML documentation'
run: make -C Doc/ SPHINXOPTS="-q" SPHINXERRORHANDLING="-W --keep-going" html

# Run "doctest" on HEAD as new syntax doesn't exist in the latest stable release
doctest:
name: 'Doctest'
Expand Down
5 changes: 3 additions & 2 deletions Doc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ JOBS = auto
PAPER =
SOURCES =
DISTVERSION = $(shell $(PYTHON) tools/extensions/patchlevel.py)
REQUIREMENTS = requirements.txt
SPHINXERRORHANDLING = -W

# Internal variables.
Expand Down Expand Up @@ -154,8 +155,8 @@ venv:
echo "To recreate it, remove it first with \`make clean-venv'."; \
else \
$(PYTHON) -m venv $(VENVDIR); \
$(VENVDIR)/bin/python3 -m pip install -U pip setuptools; \
$(VENVDIR)/bin/python3 -m pip install -r requirements.txt; \
$(VENVDIR)/bin/python3 -m pip install --upgrade pip; \
$(VENVDIR)/bin/python3 -m pip install -r $(REQUIREMENTS); \
echo "The venv has been created in the $(VENVDIR) directory"; \
fi

Expand Down
6 changes: 3 additions & 3 deletions Doc/library/sqlite3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ Module functions
to avoid data corruption.
See :attr:`threadsafety` for more information.

:param Connection factory:
:param ~sqlite3.Connection factory:
A custom subclass of :class:`Connection` to create the connection with,
if not the default :class:`Connection` class.

Expand All @@ -337,7 +337,7 @@ Module functions
The default will change to ``False`` in a future Python release.
:type autocommit: bool

:rtype: Connection
:rtype: ~sqlite3.Connection

.. audit-event:: sqlite3.connect database sqlite3.connect
.. audit-event:: sqlite3.connect/handle connection_handle sqlite3.connect
Expand Down Expand Up @@ -1129,7 +1129,7 @@ Connection objects
Works even if the database is being accessed by other clients
or concurrently by the same connection.

:param Connection target:
:param ~sqlite3.Connection target:
The database connection to save the backup to.

:param int pages:
Expand Down
38 changes: 38 additions & 0 deletions Doc/requirements-oldest-sphinx.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Requirements to build the Python documentation, for the oldest supported
# Sphinx version.
#
# We pin Sphinx and all of its dependencies to ensure a consistent environment.

blurb
python-docs-theme>=2022.1

# Generated from:
# pip install "Sphinx~=3.2.0" "docutils<0.17" "Jinja2<3" "MarkupSafe<2"
# pip freeze
#
# Sphinx 3.2 comes from ``needs_sphinx = '3.2'`` in ``Doc/conf.py``.
# Docutils<0.17, Jinja2<3, and MarkupSafe<2 are additionally specified as
# Sphinx 3.2 is incompatible with newer releases of these packages.

Sphinx==3.2.1
alabaster==0.7.13
Babel==2.12.1
certifi==2022.12.7
charset-normalizer==3.1.0
colorama==0.4.6
docutils==0.16
idna==3.4
imagesize==1.4.1
Jinja2==2.11.3
MarkupSafe==1.1.1
packaging==23.1
Pygments==2.15.1
requests==2.29.0
snowballstemmer==2.2.0
sphinxcontrib-applehelp==1.0.4
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.1
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
urllib3==1.26.15

0 comments on commit 44b5c21

Please sign in to comment.