This MR supersedes !1142 (closed) since we will move RPM packaging into a branch off of
release/5.0. However dockerhub builds should be performed on master and release branches, so this MR extracts those aspects into this branch.
For dockerhub the strategy that is adopted:
- builds will occur on master, any branch tagged
docker/*for testing purposes, and any tags (to handle patch releases).
- images are tested in a
package-testphase, using a simple IncNavierStokesSolver test with MPI, and by using the
executabletemplate, which also tests that Nektar++ can be used as a third-party library.
- if all of that passes then the images are pushed up to dockerhub, asides from if you are on a docker/* branch for testing.
- The gitlab container registry is used to store intermediary images and deployment only occurs if tests pass.
To enable RPM packaging, this MR also introduces a couple of changes to enable installation of headers in a separate environment.