Skip to content

Commit 6e0ef33

Browse files
authored
Merge pull request #2219 from sirosen/more-reproducible-docs-builds
Pin pip-tools' dependencies for "build-docs"
2 parents 4fa76ab + ef82eed commit 6e0ef33

File tree

2 files changed

+38
-13
lines changed

2 files changed

+38
-13
lines changed

docs/requirements.txt

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,30 @@
22
# This file is autogenerated by pip-compile with Python 3.11
33
# by the following command:
44
#
5-
# pip-compile --allow-unsafe --strip-extras requirements.in
5+
# pip-compile --allow-unsafe --output-file=docs/requirements.txt --strip-extras ./pyproject.toml docs/requirements.in
66
#
77
alabaster==0.7.13
88
# via sphinx
99
babel==2.12.1
1010
# via sphinx
1111
beautifulsoup4==4.12.2
1212
# via furo
13+
build==1.3.0
14+
# via pip-tools (pyproject.toml)
1315
certifi==2024.7.4
1416
# via requests
1517
charset-normalizer==3.2.0
1618
# via requests
1719
click==8.2.1
18-
# via towncrier
20+
# via
21+
# pip-tools (pyproject.toml)
22+
# towncrier
1923
docutils==0.20.1
2024
# via
2125
# myst-parser
2226
# sphinx
2327
furo==2023.8.17
24-
# via -r requirements.in
28+
# via -r docs/requirements.in
2529
idna==3.7
2630
# via requests
2731
imagesize==1.4.1
@@ -42,9 +46,10 @@ mdit-py-plugins==0.4.0
4246
mdurl==0.1.2
4347
# via markdown-it-py
4448
myst-parser==2.0.0
45-
# via -r requirements.in
49+
# via -r docs/requirements.in
4650
packaging==23.1
4751
# via
52+
# build
4853
# setuptools-scm
4954
# sphinx
5055
pbr==6.0.0
@@ -53,19 +58,23 @@ pygments==2.16.1
5358
# via
5459
# furo
5560
# sphinx
61+
pyproject-hooks==1.2.0
62+
# via
63+
# build
64+
# pip-tools (pyproject.toml)
5665
pyyaml==6.0.1
5766
# via myst-parser
5867
requests==2.32.4
5968
# via sphinx
6069
setuptools-scm==7.1.0
61-
# via -r requirements.in
70+
# via -r docs/requirements.in
6271
snowballstemmer==2.2.0
6372
# via sphinx
6473
soupsieve==2.4.1
6574
# via beautifulsoup4
6675
sphinx==7.2.2
6776
# via
68-
# -r requirements.in
77+
# -r docs/requirements.in
6978
# furo
7079
# myst-parser
7180
# sphinx-basic-ng
@@ -81,9 +90,9 @@ sphinx==7.2.2
8190
sphinx-basic-ng==1.0.0b2
8291
# via furo
8392
sphinx-issues==5.0.1
84-
# via -r requirements.in
93+
# via -r docs/requirements.in
8594
sphinxcontrib-apidoc==0.5.0
86-
# via -r requirements.in
95+
# via -r docs/requirements.in
8796
sphinxcontrib-applehelp==1.0.7
8897
# via sphinx
8998
sphinxcontrib-devhelp==1.0.5
@@ -93,20 +102,26 @@ sphinxcontrib-htmlhelp==2.0.4
93102
sphinxcontrib-jsmath==1.0.1
94103
# via sphinx
95104
sphinxcontrib-programoutput==0.17
96-
# via -r requirements.in
105+
# via -r docs/requirements.in
97106
sphinxcontrib-qthelp==1.0.6
98107
# via sphinx
99108
sphinxcontrib-serializinghtml==1.1.8
100109
# via sphinx
101110
sphinxcontrib-towncrier==0.5.0a0
102-
# via -r requirements.in
111+
# via -r docs/requirements.in
103112
towncrier==24.8.0
104113
# via sphinxcontrib-towncrier
105114
typing-extensions==4.7.1
106115
# via setuptools-scm
107116
urllib3==2.5.0
108117
# via requests
118+
wheel==0.45.1
119+
# via pip-tools (pyproject.toml)
109120

110121
# The following packages are considered to be unsafe in a requirements file:
122+
pip==25.1
123+
# via pip-tools (pyproject.toml)
111124
setuptools==78.1.1
112-
# via setuptools-scm
125+
# via
126+
# pip-tools (pyproject.toml)
127+
# setuptools-scm

tox.ini

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,19 @@ skip_install = true
5858

5959
[testenv:pip-compile-docs]
6060
description = compile requirements for the documentation
61-
changedir = {[testenv:build-docs]changedir}
6261
commands_pre =
63-
commands = python -m piptools compile --strip-extras --allow-unsafe --quiet requirements.in {posargs}
62+
# compile requirements.in + pyproject.toml to get pip-tools install requirements in
63+
# addition to doc tooling requirements *but without* putting `pip-tools` itself
64+
# into the output
65+
commands =
66+
python -m piptools compile \
67+
--strip-extras \
68+
--allow-unsafe \
69+
--quiet \
70+
docs/requirements.in \
71+
'./pyproject.toml' \
72+
-o docs/requirements.txt \
73+
{posargs}
6474

6575
[testenv:build-docs]
6676
description = build the documentation

0 commit comments

Comments
 (0)