Rework repository to generate most files automatically
Currently, there is a lot of duplicate work in maintaining the images and configuration file that cuold be shared more.
My proposal is to produce all those files as jinja2 templates together with yaml configuration files.
This has multiple advantages:
- we don't have to repeat the same code for multiple images (for instance testsuite/fedora-{27,28,29} are the same....but for one number)
- It is simpler to see what is happening and the differences between each image
And the following disadvantage:
- it is slightly harder to contribute
- generated files needs to be checked in and kept in sync
The second problem is easy to fix: adding a check in CI that ensures that templates are up to date and otherwise fail.
Given the rest, I think it is the way to go.
My suggestion would be:
-
move the building of the gitlab-ci.ymlto jinja2/yml (!82 (merged)) -
move the building of test images to jinja2/yml -
move the building of the rest of the images to jinja2/yml -
thoroughly document the changes to it is easy for newcomers -
add a script to build and test all images locally
Edited by Chandan Singh