Skip to content

Commit 575daea

Browse files
authored
Merge pull request #2697 from benjeffery/freeze-docs-env
Freeze docs environment
2 parents ad4dd4a + fa04883 commit 575daea

File tree

2 files changed

+169
-26
lines changed

2 files changed

+169
-26
lines changed

.github/workflows/docs.yml

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,42 +22,44 @@ jobs:
2222
runs-on: ubuntu-latest
2323
steps:
2424
- name: Cancel Previous Runs
25-
uses: styfle/cancel-workflow-action@0.6.0
25+
uses: styfle/cancel-workflow-action@0.11.0
2626
with:
2727
access_token: ${{ github.token }}
2828

2929
- uses: actions/checkout@v3
3030

3131
- uses: actions/setup-python@v4
3232
with:
33-
python-version: 3.8
33+
python-version: "3.10"
34+
35+
- name: Install apt deps
36+
if: env.APTGET
37+
run: sudo apt-get install -y ${{env.APTGET}}
3438

3539
- uses: actions/cache@v3
36-
id: cache
40+
id: venv-cache
3741
with:
3842
path: venv
39-
key: docs-venv-v7-${{ hashFiles(env.REQUIREMENTS) }}
40-
41-
- name: Build virtualenv
42-
if: steps.cache.outputs.cache-hit != 'true'
43-
run: python -m venv venv
44-
45-
- name: Downgrade pip
46-
run: venv/bin/activate && pip install pip==20.0.2
47-
48-
- name: Install deps
49-
run: venv/bin/activate && pip install -r ${{env.REQUIREMENTS}}
43+
key: docs-venv-v1-${{ hashFiles(env.REQUIREMENTS) }}
5044

51-
- name: Install apt deps
52-
if: env.APTGET
53-
run: sudo apt-get install -y ${{env.APTGET}}
45+
- name: Create venv and install deps (one by one to avoid conflict errors)
46+
if: steps.venv-cache.outputs.cache-hit != 'true'
47+
run: |
48+
python -m venv venv
49+
. venv/bin/activate
50+
pip install --upgrade pip wheel
51+
cat ${{env.REQUIREMENTS}} | sed -e '/^\s*#.*$/d' -e '/^\s*$/d' | xargs -n 1 pip install --no-dependencies
5452
5553
- name: Build C module
5654
if: env.MAKE_TARGET
57-
run: venv/bin/activate && make $MAKE_TARGET
55+
run: |
56+
. venv/bin/activate
57+
make $MAKE_TARGET
5858
5959
- name: Build Docs
60-
run: venv/bin/activate && make -C docs
60+
run: |
61+
. venv/bin/activate
62+
make -C docs
6163
6264
- name: Trigger docs site rebuild
6365
if: github.ref == 'refs/heads/main'
Lines changed: 148 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,154 @@
1+
# Due to issues with indirect dependencies introducing conflicting dependencies
2+
# we freeze everything to get a reproducible build.
3+
alabaster==0.7.13
4+
anyio==3.6.2
5+
argon2-cffi==21.3.0
6+
argon2-cffi-bindings==21.2.0
7+
arrow==1.2.3
8+
asttokens==2.2.1
9+
attrs==21.4.0
10+
Babel==2.11.0
11+
backcall==0.2.0
12+
beautifulsoup4==4.11.1
13+
bleach==5.0.1
114
breathe==4.34.0
15+
certifi==2022.12.7
16+
cffi==1.15.1
17+
charset-normalizer==3.0.1
18+
click==8.1.3
19+
colorama==0.4.6
20+
comm==0.1.2
21+
debugpy==1.6.5
22+
decorator==5.1.1
23+
defusedxml==0.7.1
24+
demes==0.2.2
25+
Deprecated==1.2.13
26+
docutils==0.17.1
27+
entrypoints==0.4
28+
executing==1.2.0
29+
fastjsonschema==2.16.2
30+
fqdn==1.5.1
31+
gitdb==4.0.10
32+
GitPython==3.1.30
33+
greenlet==2.0.1
34+
idna==3.4
35+
imagesize==1.4.1
36+
importlib-metadata==6.0.0
37+
ipykernel==6.20.2
38+
ipython==8.8.0
39+
ipython-genutils==0.2.0
40+
ipywidgets==7.7.2
41+
isoduration==20.11.0
42+
jedi==0.18.2
43+
Jinja2==3.1.2
44+
jsonpointer==2.3
45+
jsonschema==4.17.3
246
jupyter-book==0.13.1
3-
h5py==3.7.0
4-
jsonschema[format-nongpl]==4.17.3
47+
jupyter-cache==0.4.3
48+
jupyter-events==0.6.3
49+
jupyter-server-mathjax==0.2.6
50+
jupyter-sphinx==0.3.2
51+
jupyter_client==7.4.9
52+
jupyter_core==5.1.3
53+
jupyter_server==2.1.0
54+
jupyter_server_terminals==0.4.4
55+
jupyterlab-pygments==0.2.2
56+
jupyterlab-widgets==1.1.1
57+
latexcodec==2.0.1
58+
linkify-it-py==1.0.3
59+
lxml==4.9.2
60+
markdown-it-py==1.1.0
61+
MarkupSafe==2.1.2
62+
matplotlib-inline==0.1.6
63+
mdit-py-plugins==0.2.8
64+
mistune==0.8.4
565
msprime==1.2.0
6-
numpy==1.21.6 # Held at 1.21.6 for Python 3.7 compatibility
7-
PyGithub==1.55
8-
sphinx-argparse==0.3.1
9-
sphinx-autodoc-typehints==1.18.3 # Held at 1.18.3 as that depends on sphinx>=5.2.1 while jupyter-book 0.13.1 depends on sphinx<5
66+
myst-nb==0.13.2
67+
myst-parser==0.15.2
68+
nbclassic==0.4.8
69+
nbclient==0.5.13
70+
nbconvert==6.5.4
71+
nbdime==3.1.1
72+
nbformat==5.7.3
73+
nest-asyncio==1.5.6
74+
newick==1.6.0
75+
notebook==6.5.2
76+
notebook_shim==0.2.2
77+
numpy==1.24.1
78+
packaging==23.0
79+
pandocfilters==1.5.0
80+
parso==0.8.3
81+
pbr==5.11.1
82+
pexpect==4.8.0
83+
pickleshare==0.7.5
84+
platformdirs==2.6.2
85+
prometheus-client==0.15.0
86+
prompt-toolkit==3.0.36
87+
psutil==5.9.4
88+
ptyprocess==0.7.0
89+
pure-eval==0.2.2
90+
pybtex==0.24.0
91+
pybtex-docutils==1.0.2
92+
pycparser==2.21
93+
pydata-sphinx-theme==0.8.1
94+
PyGithub==1.57
95+
Pygments==2.14.0
96+
PyJWT==2.6.0
97+
PyNaCl==1.5.0
98+
pyrsistent==0.19.3
99+
python-dateutil==2.8.2
100+
python-json-logger==2.0.4
101+
pytz==2022.7.1
102+
PyYAML==6.0
103+
pyzmq==25.0.0
104+
requests==2.28.2
105+
rfc3339-validator==0.1.4
106+
rfc3986-validator==0.1.1
107+
ruamel.yaml==0.17.21
108+
ruamel.yaml.clib==0.2.7
109+
Send2Trash==1.8.0
110+
six==1.16.0
111+
smmap==5.0.0
112+
sniffio==1.3.0
113+
snowballstemmer==2.2.0
114+
soupsieve==2.3.2.post1
115+
Sphinx==4.5.0
116+
sphinx-argparse==0.4.0
117+
sphinx-autodoc-typehints==1.19.1
118+
sphinx-book-theme==0.3.3
119+
sphinx-comments==0.0.3
120+
sphinx-copybutton==0.5.1
121+
sphinx-external-toc==0.2.4
10122
sphinx-issues==3.0.1
123+
sphinx-jupyterbook-latex==0.4.7
124+
sphinx-multitoc-numbering==0.1.3
125+
sphinx-thebe==0.1.2
126+
sphinx-togglebutton==0.3.2
127+
sphinx_design==0.1.0
128+
sphinxcontrib-bibtex==2.5.0
129+
sphinxcontrib-devhelp==1.0.2
130+
sphinxcontrib-htmlhelp==2.0.0
131+
sphinxcontrib-jsmath==1.0.1
11132
sphinxcontrib-prettyspecialmethods==0.1.0
133+
sphinxcontrib-qthelp==1.0.3
134+
sphinxcontrib-serializinghtml==1.1.5
135+
sphinxcontrib.applehelp==1.0.3
136+
SQLAlchemy==1.4.46
137+
stack-data==0.6.2
12138
svgwrite==1.4.3
13-
tskit-book-theme==0.3.2
139+
terminado==0.17.1
140+
tinycss2==1.2.1
141+
tornado==6.2
142+
traitlets==5.8.1
143+
tskit==0.5.4
144+
tskit-book-theme==0.3.2
145+
uc-micro-py==1.0.1
146+
uri-template==1.2.0
147+
urllib3==1.26.14
148+
wcwidth==0.2.6
149+
webcolors==1.12
150+
webencodings==0.5.1
151+
websocket-client==1.4.2
152+
widgetsnbextension==3.6.1
153+
wrapt==1.14.1
154+
zipp==3.11.0

0 commit comments

Comments
 (0)