Running the Firedrake test suite with different branches for subpackages - firedrakeproject/firedrake GitHub Wiki
- Create and check out a new Firedrake branch:
$ cd firedrake/src/firedrake $ git checkout master $ git pull $ git checkout -b check-my-subpackage-changes
- Modify the
firedrake-install
line infiredrake/.github/workflows/build.yml
to include the argument--package-branch <subpackage> <branch>
(e.g.--package-branch tsfc add-new-feature
). Note that these branches must exist on the main package repository. Branches in forked repositories will not be found. Note that if PETSc is the repository getting tested then additional steps are required (see below). - Commit and push this change.
- Create a draft pull request on the Firedrake repository for this branch. Be sure to call the pull request something like "DO NOT MERGE Test new TSFC feature" or similar (example).
By default we do not recompile PETSc when the test suite is run. To force it to rebuild (and for --package-branch petsc <branch>
to be respected) one needs to make additional modifications to the build.yml
file:
- Delete the line
--honour-petsc-dir \
from the arguments tofiredrake-install
. - Make sure to
unset PETSC_DIR PETSC_ARCH SLEPC_DIR
for each step.
An example can be found here.