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.
Introduces a Dockerfile generator in an attempt to finally eliminate the copy&paste.
The generator is essentially a program that feeds
template/Dockerfile.jinja
template (in the (in)famous Jinja syntax; powered by our own Ginger) with the data from YAML files scattered across the repository and prints aDockerfile
. The choice of Jinja for templates and YAML for data is a middle ground between correctness and accessibility. GeneratedDockerfile
s are supposed to be checked in to version control regardless, so it doesn't change much the workflow as a whole — it just makes updating images along almost trivial, eliminating the most tedious part of the maintainer's job.I also took the liberty to enhance the
Dockerfile
template slightly, in particular:RUN
stanzas to heredoc syntax dropping these nasty\;
trails on every lineENV
stanzas so the build won't failThings to fix:
generate.sh
or something. @jhrcek @chreekat I'm open for suggestions.