Design automated docker build layout
@timok, should we use this to discuss what kind of design we'd like to have and what should be tested?
Dune
images for a bunch of basic configurations are available at https://gitlab.dune-project.org/docker/ci, which we can use as base images.
Maybe we can collect which dune versions, compilers, operating systems we want to test (selecting from what they have available first):
- Dune versions: master, 2.7
- Compilers: gcc-7, gcc-9, clang-10, ... ?
- OS: ubuntu18.04, ubuntu20.04 ... ?
I quickly checked - but I haven't understood the full Dune workflow yet - and it seems that in their configurations they always use release opts? https://gitlab.dune-project.org/docker/ci/-/blob/master/base-common/dune.opts
I have to check their workflow again, but it seems that the specify the TOOLCHAIN
variable in the jobs, which points to a file defining a bunch of cmake variables - which in turn are use in the configuration in dune.opts
? If I am correct wouldn't that mean that we can't trigger Debug-flagged jobs with their images? That would be a bit of a bummer, I guess.