Skip to content

Commit f0c0468

Browse files
authored
ci: pin MkDocs dependencies with hashes (#228)
1 parent bb5ad57 commit f0c0468

5 files changed

Lines changed: 156 additions & 2 deletions

File tree

.github/workflows/docs-deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
python-version: 3.13
4646

4747
- name: Install MkDocs Material
48-
run: pip install mkdocs-material
48+
run: pip install --requirement docs/user-guide/requirements.txt
4949

5050
- name: Copy License
5151
run: cp LICENSE.md docs/user-guide/src/license.md

.github/workflows/docs-validate.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
python-version: 3.13
4646

4747
- name: Install MkDocs Material
48-
run: pip install mkdocs-material
48+
run: pip install --requirement docs/user-guide/requirements.txt
4949

5050
- name: Copy License
5151
run: cp LICENSE.md docs/user-guide/src/license.md

docs/user-guide/requirements.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mkdocs-material

docs/user-guide/requirements.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/usr/bin/env sh
2+
# Prerequisites: pip install pip-tools
3+
4+
set -eu
5+
6+
SCRIPT_DIR=$(cd "$(dirname "$0")" > /dev/null 2>&1 && pwd -P)
7+
8+
cd "$SCRIPT_DIR"
9+
10+
pip-compile --strip-extras --generate-hashes

docs/user-guide/requirements.txt

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.13
3+
# by the following command:
4+
#
5+
# pip-compile --generate-hashes --strip-extras
6+
#
7+
babel==2.17.0 \
8+
--hash=sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d \
9+
--hash=sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2
10+
# via mkdocs-material
11+
backrefs==5.8 \
12+
--hash=sha256:2cab642a205ce966af3dd4b38ee36009b31fa9502a35fd61d59ccc116e40a6bd \
13+
--hash=sha256:2e1c15e4af0e12e45c8701bd5da0902d326b2e200cafcd25e49d9f06d44bb61b \
14+
--hash=sha256:a66851e4533fb5b371aa0628e1fee1af05135616b86140c9d787a2ffdf4b8fdc \
15+
--hash=sha256:bbef7169a33811080d67cdf1538c8289f76f0942ff971222a16034da88a73486 \
16+
--hash=sha256:c67f6638a34a5b8730812f5101376f9d41dc38c43f1fdc35cb54700f6ed4465d \
17+
--hash=sha256:e3a63b073867dbefd0536425f43db618578528e3896fb77be7141328642a1585
18+
# via mkdocs-material
19+
certifi==2025.4.26 \
20+
--hash=sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6 \
21+
--hash=sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3
22+
# via requests
23+
charset-normalizer==3.4.2 \
24+
--hash=sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63 \
25+
--hash=sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0 \
26+
--hash=sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980
27+
# via requests
28+
click==8.2.1 \
29+
--hash=sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202 \
30+
--hash=sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b
31+
# via mkdocs
32+
colorama==0.4.6 \
33+
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
34+
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
35+
# via
36+
# click
37+
# mkdocs
38+
# mkdocs-material
39+
ghp-import==2.1.0 \
40+
--hash=sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619 \
41+
--hash=sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343
42+
# via mkdocs
43+
idna==3.10 \
44+
--hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \
45+
--hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3
46+
# via requests
47+
jinja2==3.1.6 \
48+
--hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
49+
--hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
50+
# via
51+
# mkdocs
52+
# mkdocs-material
53+
markdown==3.8 \
54+
--hash=sha256:794a929b79c5af141ef5ab0f2f642d0f7b1872981250230e72682346f7cc90dc \
55+
--hash=sha256:7df81e63f0df5c4b24b7d156eb81e4690595239b7d70937d0409f1b0de319c6f
56+
# via
57+
# mkdocs
58+
# mkdocs-material
59+
# pymdown-extensions
60+
markupsafe==3.0.2 \
61+
--hash=sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f \
62+
--hash=sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0
63+
# via
64+
# jinja2
65+
# mkdocs
66+
mergedeep==1.3.4 \
67+
--hash=sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8 \
68+
--hash=sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307
69+
# via
70+
# mkdocs
71+
# mkdocs-get-deps
72+
mkdocs==1.6.1 \
73+
--hash=sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2 \
74+
--hash=sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e
75+
# via mkdocs-material
76+
mkdocs-get-deps==0.2.0 \
77+
--hash=sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c \
78+
--hash=sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134
79+
# via mkdocs
80+
mkdocs-material==9.6.14 \
81+
--hash=sha256:39d795e90dce6b531387c255bd07e866e027828b7346d3eba5ac3de265053754 \
82+
--hash=sha256:3b9cee6d3688551bf7a8e8f41afda97a3c39a12f0325436d76c86706114b721b
83+
# via -r requirements.in
84+
mkdocs-material-extensions==1.3.1 \
85+
--hash=sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443 \
86+
--hash=sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31
87+
# via mkdocs-material
88+
packaging==25.0 \
89+
--hash=sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 \
90+
--hash=sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f
91+
# via mkdocs
92+
paginate==0.5.7 \
93+
--hash=sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945 \
94+
--hash=sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591
95+
# via mkdocs-material
96+
pathspec==0.12.1 \
97+
--hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 \
98+
--hash=sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712
99+
# via mkdocs
100+
platformdirs==4.3.8 \
101+
--hash=sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc \
102+
--hash=sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4
103+
# via mkdocs-get-deps
104+
pygments==2.19.1 \
105+
--hash=sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f \
106+
--hash=sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c
107+
# via mkdocs-material
108+
pymdown-extensions==10.15 \
109+
--hash=sha256:0e5994e32155f4b03504f939e501b981d306daf7ec2aa1cd2eb6bd300784f8f7 \
110+
--hash=sha256:46e99bb272612b0de3b7e7caf6da8dd5f4ca5212c0b273feb9304e236c484e5f
111+
# via mkdocs-material
112+
python-dateutil==2.9.0.post0 \
113+
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
114+
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
115+
# via ghp-import
116+
pyyaml==6.0.2 \
117+
--hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 \
118+
--hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e
119+
# via
120+
# mkdocs
121+
# mkdocs-get-deps
122+
# pymdown-extensions
123+
# pyyaml-env-tag
124+
pyyaml-env-tag==1.1 \
125+
--hash=sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04 \
126+
--hash=sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff
127+
# via mkdocs
128+
requests==2.32.3 \
129+
--hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \
130+
--hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6
131+
# via mkdocs-material
132+
six==1.17.0 \
133+
--hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
134+
--hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81
135+
# via python-dateutil
136+
urllib3==2.4.0 \
137+
--hash=sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466 \
138+
--hash=sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813
139+
# via requests
140+
watchdog==6.0.0 \
141+
--hash=sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282 \
142+
--hash=sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680
143+
# via mkdocs

0 commit comments

Comments
 (0)