Skip to content

Commit fc8add7

Browse files
committed
Merge branch 'JHopeCollins/fdv-saddle-pc' into JHopeCollins/fdv-saddle-pc-arf
2 parents 66e1e89 + ea63b4a commit fc8add7

File tree

94 files changed

+127706
-36736
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+127706
-36736
lines changed

.github/workflows/core.yml

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
type: string
99
required: true
1010
target_branch:
11-
description: The target branch (usually 'master' or 'release')
11+
description: The target branch (usually 'main' or 'release')
1212
type: string
1313
required: true
1414
run_tests:
@@ -39,7 +39,7 @@ on:
3939
type: string
4040
required: true
4141
target_branch:
42-
description: The target branch (usually 'master' or 'release')
42+
description: The target branch (usually 'main' or 'release')
4343
type: string
4444
required: true
4545
run_tests:
@@ -93,7 +93,9 @@ jobs:
9393
FIREDRAKE_CI: 1
9494
PYOP2_CI_TESTS: 1
9595
PYOP2_SPMD_STRICT: 1
96-
EXTRA_PYTEST_ARGS: --splitting-algorithm least_duration --timeout=600 --timeout-method=thread -o faulthandler_timeout=660
96+
# NOTE: One should occasionally update test_durations.json by running
97+
# 'make test_durations' inside a 'firedrake:latest' Docker image.
98+
EXTRA_PYTEST_ARGS: --splitting-algorithm least_duration --timeout=600 --timeout-method=thread -o faulthandler_timeout=660 --durations-path=./firedrake-repo/tests/test_durations.json
9799
PYTEST_MPI_MAX_NPROCS: 8
98100
steps:
99101
- name: Fix HOME
@@ -144,7 +146,7 @@ jobs:
144146
$(python3 ./firedrake-repo/scripts/firedrake-configure --arch ${{ matrix.arch }} --show-system-packages)
145147
apt-get -y install python3-venv
146148
: # Dependencies needed to run the test suite
147-
apt-get -y install parallel
149+
apt-get -y install fonts-dejavu graphviz graphviz-dev parallel poppler-utils
148150
149151
- name: Install PETSc
150152
run: |
@@ -191,7 +193,7 @@ jobs:
191193
: # because they rely on non-PyPI versions of petsc4py.
192194
pip install --no-build-isolation --no-deps \
193195
"$PETSC_DIR"/"$PETSC_ARCH"/externalpackages/git.slepc/src/binding/slepc4py
194-
pip install --no-deps ngsPETSc netgen-mesher netgen-occt
196+
pip install --no-deps git+https://github.com/NGSolve/ngsPETSc.git netgen-mesher netgen-occt
195197
196198
: # We have to pass '--no-build-isolation' to use a custom petsc4py
197199
EXTRA_BUILD_ARGS='--no-isolation'
@@ -205,9 +207,13 @@ jobs:
205207
pip install --verbose $EXTRA_PIP_FLAGS \
206208
--no-binary h5py \
207209
--extra-index-url https://download.pytorch.org/whl/cpu \
208-
"$(echo ./firedrake-repo/dist/firedrake-*.tar.gz)[ci,docs]"
210+
"$(echo ./firedrake-repo/dist/firedrake-*.tar.gz)"
211+
212+
pip install -U pip
213+
pip install --group ./firedrake-repo/pyproject.toml:ci
214+
209215
: # TODO: Remove before merge
210-
pip install --verbose --editable git+https://github.com/dolfin-adjoint/pyadjoint.git@JHopeCollins/tlm#egg=pyadjoint-ad
216+
pip install --verbose --editable git+https://github.com/dolfin-adjoint/pyadjoint.git@dham/abstract_reduced_functional#egg=pyadjoint-ad
211217
212218
firedrake-clean
213219
pip list
@@ -237,7 +243,7 @@ jobs:
237243
: # Use pytest-xdist here so we can have a single collated output (not possible
238244
: # for parallel tests)
239245
firedrake-run-split-tests 1 1 -n 8 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/tsfc
240-
timeout-minutes: 60
246+
timeout-minutes: 10
241247

242248
- name: Run PyOP2 tests
243249
if: inputs.run_tests && (success() || steps.install.conclusion == 'success')
@@ -249,7 +255,7 @@ jobs:
249255
firedrake-run-split-tests 2 4 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/pyop2
250256
firedrake-run-split-tests 3 2 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/pyop2
251257
firedrake-run-split-tests 4 2 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/pyop2
252-
timeout-minutes: 15
258+
timeout-minutes: 10
253259

254260

255261
- name: Run Firedrake tests (nprocs = 1)
@@ -259,14 +265,14 @@ jobs:
259265
: # Use pytest-xdist here so we can have a single collated output (not possible
260266
: # for parallel tests)
261267
firedrake-run-split-tests 1 1 -n 8 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/firedrake
262-
timeout-minutes: 60
268+
timeout-minutes: 90
263269

264270
- name: Run tests (nprocs = 2)
265271
if: inputs.run_tests && (success() || steps.install.conclusion == 'success')
266272
run: |
267273
. venv/bin/activate
268274
firedrake-run-split-tests 2 4 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/firedrake
269-
timeout-minutes: 30
275+
timeout-minutes: 60
270276

271277
- name: Run tests (nprocs = 3)
272278
if: inputs.run_tests && (success() || steps.install.conclusion == 'success')
@@ -425,6 +431,8 @@ jobs:
425431
echo Error: there are untracked files in the repository
426432
echo The output from 'git status' is:
427433
git status
434+
echo The output from 'git diff' is:
435+
git diff
428436
exit 1
429437
fi
430438
@@ -544,12 +552,12 @@ jobs:
544552
deploy_website:
545553
name: Deploy GitHub pages (optional)
546554
needs: test_linux
547-
# Only deploy the website for master here, the release branch is managed
555+
# Only deploy the website for main here, the release branch is managed
548556
# by https://github.com/firedrakeproject/firedrakeproject.github.io
549557
if: |
550558
always() &&
551559
inputs.deploy_website &&
552-
inputs.target_branch == 'master' &&
560+
inputs.target_branch == 'main' &&
553561
needs.test_linux.outputs.docs_conclusion == 'success'
554562
permissions:
555563
pages: write
@@ -573,15 +581,15 @@ jobs:
573581
runs-on: ubuntu-latest
574582
environment:
575583
name: pypi
576-
permissions:
577-
id-token: write
578584
steps:
579585
- uses: actions/download-artifact@v4
580586
with:
581587
name: dist
582588
path: dist
583589
- name: Push to PyPI
584590
uses: pypa/gh-action-pypi-publish@release/v1
591+
with:
592+
password: ${{ secrets.PYPI_API_TOKEN }}
585593

586594
upload_testpypi:
587595
name: Upload to TestPyPI (optional)

.github/workflows/push.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Deploy after push
33
on:
44
push:
55
branches:
6-
- master
6+
- main
77
- release
88

99
jobs:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@ __pycache__/
1515
/demos/immersed_fem/immersed_domain.msh
1616
/docs/build/
1717
/docs/notebooks/.ipynb_checkpoints/
18+
/docs/notebooks/tape.pdf
1819
/docs/source/apt_deps.txt
1920
/docs/source/firedrake.rst
2021
/docs/source/firedrake.*.rst
2122
/docs/source/homebrew_deps.txt
23+
/docs/source/minimal_apt_deps.txt
2224
/docs/source/obtaining_pyop2.rst
2325
/docs/source/petsc_configure_options.txt
2426
/docs/source/team.rst

0 commit comments

Comments
 (0)