Skip to content

Commit 285ed4c

Browse files
authored
Merge pull request #4975 from firedrakeproject/connorjward/merge-release
2 parents 8ee5078 + 16125bc commit 285ed4c

8 files changed

Lines changed: 76 additions & 57 deletions

File tree

.github/workflows/core.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,7 @@ jobs:
504504
- name: Install Firedrake
505505
id: install
506506
run: |
507+
pip install --verbose -r ./firedrake-repo/requirements-build.txt
507508
CC=mpicc CXX=mpicxx \
508509
pip install --verbose --no-build-isolation './firedrake-repo[docs]'
509510
firedrake-clean

.github/workflows/docker_build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ jobs:
8282
build-args: |
8383
ARCH=${{ inputs.arch }}
8484
BRANCH=${{ inputs.branch }}
85+
X86=1
8586
outputs: type=image,name=firedrakeproject/${{ inputs.target }},push-by-digest=true,name-canonical=true,push=true
8687

8788
- name: Export digest
@@ -138,6 +139,7 @@ jobs:
138139
build-args: |
139140
ARCH=${{ inputs.arch }}
140141
BRANCH=${{ inputs.branch }}
142+
ARM64=1
141143
outputs: type=image,name=firedrakeproject/${{ inputs.target }},push-by-digest=true,name-canonical=true,push=true
142144

143145
- name: Export digest

.github/workflows/push.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,51 @@ jobs:
2424
branch: ${{ github.ref_name }}
2525
build_dev: true
2626
secrets: inherit
27+
28+
colab:
29+
name: Update Colab notebooks (release only)
30+
if: github.ref_name == 'release'
31+
runs-on: ubuntu-latest
32+
permissions:
33+
contents: write
34+
steps:
35+
- uses: actions/setup-python@v5
36+
with:
37+
python-version: '3.13'
38+
39+
- name: Install dependencies
40+
run: pip install nbformat
41+
42+
- name: Checkout Firedrake
43+
uses: actions/checkout@v5
44+
with:
45+
path: firedrake
46+
ref: ${{ github.ref_name }}
47+
48+
- name: Checkout Colab notebooks
49+
uses: actions/checkout@v5
50+
with:
51+
repository: firedrakeproject/notebooks
52+
path: notebooks
53+
token: ${{ secrets.NOTEBOOKS_REPO_TOKEN }}
54+
55+
- name: Copy notebooks
56+
run: cp -r firedrake/docs/notebooks/* notebooks/
57+
58+
- name: Prepare notebooks for Colab
59+
working-directory: notebooks
60+
run: ./utils/firedrake-colab-notebooks ./*.ipynb
61+
62+
- name: Push changes if needed
63+
working-directory: notebooks
64+
run: |
65+
if [ ! -z "$( git status --porcelain )" ]; then
66+
echo "Changes detected"
67+
git status
68+
# Use the GitHub bot user account information
69+
git config user.name "GitHub Actions"
70+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
71+
git add --all .
72+
git commit -m "Upstream updates"
73+
git push
74+
fi

.github/workflows/release.yml

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -72,50 +72,3 @@ jobs:
7272
tag: ${{ inputs.version }}
7373
branch: ${{ inputs.branch }}
7474
secrets: inherit
75-
76-
colab:
77-
name: Update Colab notebooks
78-
runs-on: ubuntu-latest
79-
permissions:
80-
contents: write
81-
steps:
82-
- uses: actions/setup-python@v5
83-
with:
84-
python-version: '3.13'
85-
86-
- name: Install dependencies
87-
run: pip install nbformat
88-
89-
- name: Checkout Firedrake
90-
uses: actions/checkout@v5
91-
with:
92-
path: firedrake
93-
ref: ${{ inputs.branch }}
94-
95-
- name: Checkout Colab notebooks
96-
uses: actions/checkout@v5
97-
with:
98-
repository: firedrakeproject/notebooks
99-
path: notebooks
100-
token: ${{ secrets.NOTEBOOKS_REPO_TOKEN }}
101-
102-
- name: Copy notebooks
103-
run: cp -r firedrake/docs/notebooks/* notebooks/
104-
105-
- name: Prepare notebooks for Colab
106-
working-directory: notebooks
107-
run: ./utils/firedrake-colab-notebooks ./*.ipynb
108-
109-
- name: Push changes if needed
110-
working-directory: notebooks
111-
run: |
112-
if [ ! -z "$( git status --porcelain )" ]; then
113-
echo "Changes detected"
114-
git status
115-
# Use the GitHub bot user account information
116-
git config user.name "GitHub Actions"
117-
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
118-
git add --all .
119-
git commit -m "Upstream updates"
120-
git push
121-
fi

demos/demo_references.bib

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -332,9 +332,12 @@ @article{Krishna:1997
332332
@article{BaierReinio:2025,
333333
title={High-order finite element methods for three-dimensional multicomponent convection-diffusion},
334334
author={Baier-Reinio, Aaron and Farrell, Patrick E.},
335-
journal={arXiv preprint arXiv:2408.17390},
336-
year={2025},
337-
doi={10.48550/arXiv.2408.17390}
335+
journal={SIAM J. Sci. Comput.},
336+
year={2026},
337+
doi={10.1137/25M1734385},
338+
number={2},
339+
pages={A540--A567},
340+
volume={48}
338341
}
339342

340343
@article{VanBrunt:2025,

docker/Dockerfile.firedrake

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,24 @@
22

33
FROM firedrakeproject/firedrake-vanilla-default:latest
44

5+
# Architecture specific flags
6+
ARG X86
7+
ARG ARM64
8+
RUN \
9+
if [ $(( "${X86:-0}" + "${ARM64:-0}" )) -ne 1 ]; then \
10+
echo "Error: must set only one of 'X86' and 'ARM64'" \
11+
&& exit 1; \
12+
fi
13+
514
# Install optional dependencies
615
RUN pip install --verbose \
716
--extra-index-url https://download.pytorch.org/whl/cpu \
817
jax torch
918

1019
# Install ngsPETSc and dependencies. Netgen do not package ARM wheels so
11-
# we have to build it from source in that case. If on x86 then we have to
12-
# set PYTHONPATH so netgen can be found (see https://github.com/NGSolve/netgen/issues/213).
20+
# we have to build it from source in that case.
1321
RUN \
14-
if [ "$(dpkg --print-architecture)" == "arm64" ]; then \
22+
if [ "${ARM64:-0}" = "1" ]; then \
1523
apt-get update \
1624
&& apt-get -y install python3-tk libxmu-dev tk-dev tcl-dev cmake g++ libglu1-mesa-dev liblapacke-dev libocct-data-exchange-dev libocct-draw-dev occt-misc libtbb-dev libxi-dev \
1725
&& rm -rf /var/lib/apt/lists/* \
@@ -23,14 +31,16 @@ RUN \
2331
&& cmake -DCMAKE="-cxx-flags=-flax-vector-conversions" -DCMAKE_INSTALL_PREFIX=/opt/ngsuite/netgen-install /opt/ngsuite/netgen-src \
2432
&& make \
2533
&& make install \
26-
&& export PATH=/opt/ngsuite/netgen-install/bin:$PATH \
27-
&& export PYTHONPATH=/opt/ngsuite/netgen-install/lib/python3.12/site-packages:$PYTHONPATH \
2834
&& pip install ngsPETSc --no-deps; \
2935
else \
30-
export PYTHONPATH=/usr/local/lib/python3.12/site-packages:$PYTHONPATH \
31-
&& pip install ngsPETSc; \
36+
pip install ngsPETSc; \
3237
fi
3338

39+
# Set environment variables so that the netgen installation can be found
40+
# For x86 we have to set PYTHONPATH because of https://github.com/NGSolve/netgen/issues/213.
41+
ENV PATH=${ARM64:+/opt/ngsuite/netgen-install/bin:}$PATH
42+
ENV PYTHONPATH=${ARM64:+/opt/ngsuite/netgen-install/lib/python3.12/site-packages:}${X86:+/usr/local/lib/python3.12/site-packages:}$PYTHONPATH
43+
3444
# Install some other niceties
3545
RUN apt-get update \
3646
&& apt-get -y install graphviz graphviz-dev nano vim \

docs/source/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@
161161

162162
# Dodgy links
163163
linkcheck_ignore = [
164+
r'https://zenodo.org/.*',
164165
r'https://doi\.org/.*',
165166
r'https://epubs\.siam\.org/doi/.*',
166167
r'https://www\.apl\.washington\.edu/',

docs/source/tutorial_mar_26.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Attendees will need to bring a laptop. Installing Firedrake (see the
2222
:doc:`download page <install>` for details) is optional, as it will be
2323
also be possible to join the tutorial using the cloud. Installing `Paraview <https://www.paraview.org>`__ for visualisation before the course is recommended.
2424

25+
The `lecture slides and demo codes are available on github <https://github.com/pefarrell/oxford2026>`__.
2526

2627
Registration
2728
------------

0 commit comments

Comments
 (0)