More flexible Dockerfile, and restore pushing docker containers for master #4400
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There seems to be some appetite for people building their own Firedrake Docker containers. The current Dockerfiles are very static in what they can do - apart from allowing different ARCH options. This PR makes the Dockerfile slightly more flexible by allowing passing a particular branch to install from:
release
then the behaviour is unchanged - Firedrake and PETSc are both built from the corresponding release branches.firedrake-configure
is downloaded from the specified branch, PETSc is installed from the latestmain
branch, and Firedrake is installed from the latest version of the specified branch.TODO:
Some downstream repositories want to test against
master
rather thanrelease
, or test against bothmaster
andrelease
. However, we no longer build a Docker container on pushes to master. Being able to specify a non-release branch to the Dockerfile means we can use the same Dockerfile to build containers for both release and master.