Skip to content

Commit dbc44fa

Browse files
authored
[3.11] GH-103903: Test the minimum Sphinx version in CI (#103904) (#103948)
[3.11] GH-103903: Test the minimum Sphinx version in CI (GH-103904). (cherry picked from commit 44b5c21)
1 parent 838bc90 commit dbc44fa

File tree

4 files changed

+64
-5
lines changed

4 files changed

+64
-5
lines changed

.github/workflows/doc.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,26 @@ jobs:
5959
name: doc-html
6060
path: Doc/build/html
6161

62+
# This build doesn't use problem matchers or check annotations
63+
# It also does not run 'make check', as sphinx-lint is not installed into the
64+
# environment.
65+
build_doc_oldest_supported_sphinx:
66+
name: 'Docs (Oldest Sphinx)'
67+
runs-on: ubuntu-latest
68+
timeout-minutes: 60
69+
steps:
70+
- uses: actions/checkout@v3
71+
- name: 'Set up Python'
72+
uses: actions/setup-python@v4
73+
with:
74+
python-version: '3.11' # known to work with Sphinx 3.2
75+
cache: 'pip'
76+
cache-dependency-path: 'Doc/requirements-oldest-sphinx.txt'
77+
- name: 'Install build dependencies'
78+
run: make -C Doc/ venv REQUIREMENTS="requirements-oldest-sphinx.txt"
79+
- name: 'Build HTML documentation'
80+
run: make -C Doc/ SPHINXOPTS="-q" SPHINXERRORHANDLING="-W --keep-going" html
81+
6282
# Run "doctest" on HEAD as new syntax doesn't exist in the latest stable release
6383
doctest:
6484
name: 'Doctest'

Doc/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ JOBS = auto
1313
PAPER =
1414
SOURCES =
1515
DISTVERSION = $(shell $(PYTHON) tools/extensions/patchlevel.py)
16+
REQUIREMENTS = requirements.txt
1617
SPHINXERRORHANDLING = -W
1718

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

Doc/library/sqlite3.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ Module functions
307307
to avoid data corruption.
308308
See :attr:`threadsafety` for more information.
309309

310-
:param Connection factory:
310+
:param ~sqlite3.Connection factory:
311311
A custom subclass of :class:`Connection` to create the connection with,
312312
if not the default :class:`Connection` class.
313313

@@ -325,7 +325,7 @@ Module functions
325325
The query string allows passing parameters to SQLite,
326326
enabling various :ref:`sqlite3-uri-tricks`.
327327

328-
:rtype: Connection
328+
:rtype: ~sqlite3.Connection
329329

330330
.. audit-event:: sqlite3.connect database sqlite3.connect
331331
.. audit-event:: sqlite3.connect/handle connection_handle sqlite3.connect
@@ -1035,7 +1035,7 @@ Connection objects
10351035
Works even if the database is being accessed by other clients
10361036
or concurrently by the same connection.
10371037

1038-
:param Connection target:
1038+
:param ~sqlite3.Connection target:
10391039
The database connection to save the backup to.
10401040

10411041
:param int pages:

Doc/requirements-oldest-sphinx.txt

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Requirements to build the Python documentation, for the oldest supported
2+
# Sphinx version.
3+
#
4+
# We pin Sphinx and all of its dependencies to ensure a consistent environment.
5+
6+
blurb
7+
python-docs-theme>=2022.1
8+
9+
# Generated from:
10+
# pip install "Sphinx~=3.2.0" "docutils<0.17" "Jinja2<3" "MarkupSafe<2"
11+
# pip freeze
12+
#
13+
# Sphinx 3.2 comes from ``needs_sphinx = '3.2'`` in ``Doc/conf.py``.
14+
# Docutils<0.17, Jinja2<3, and MarkupSafe<2 are additionally specified as
15+
# Sphinx 3.2 is incompatible with newer releases of these packages.
16+
17+
Sphinx==3.2.1
18+
alabaster==0.7.13
19+
Babel==2.12.1
20+
certifi==2022.12.7
21+
charset-normalizer==3.1.0
22+
colorama==0.4.6
23+
docutils==0.16
24+
idna==3.4
25+
imagesize==1.4.1
26+
Jinja2==2.11.3
27+
MarkupSafe==1.1.1
28+
packaging==23.1
29+
Pygments==2.15.1
30+
requests==2.29.0
31+
snowballstemmer==2.2.0
32+
sphinxcontrib-applehelp==1.0.4
33+
sphinxcontrib-devhelp==1.0.2
34+
sphinxcontrib-htmlhelp==2.0.1
35+
sphinxcontrib-jsmath==1.0.1
36+
sphinxcontrib-qthelp==1.0.3
37+
sphinxcontrib-serializinghtml==1.1.5
38+
urllib3==1.26.15

0 commit comments

Comments
 (0)