This is more informative than anything, we're primarily looking at providing a bit for bit reproducible image. The reproducibility of the userspace is not fully guaranteed at the moment
Given that we intend to create a dedicated repro tag, we should probably put every repro steps behind this condition and leave the other groups / tags untouched for now.
this commit takes the relevant repro steps from the wsl image, and wraps
breaking changes to only affect the :repro image
testing reproducability is not yet included, so we can discuss the
approach first
Currently the release stage does 3-4 fairly distinct things:
- uploads the rootfs tarballs to the Gitlab Generic Packages repo
- creates and commits Dockerfile* to the release branch, for the
Dockerhub/Github publishing
- creates a Gitlab release, referencing the Packages artefacts and the
release branch
- updates the Dockerhub webpage
Currently these are intertwined, where the docker website is updated
first, the packages are uploaded, then the Dockerfiles are created and
committed and finally the release is made.
As result we intermix the tools required and permissions.
Split out the Gitlab release into it's own stage, using the yaml driven
format. This should save us some escaping/quoting mayhem.
In addition, move the Dockerhub webpage update as part of the github
publishing, since they require the same permissions.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
The bug that mandated the get-public-download-for-generic-package.sh
use has been fixed a while ago.
Directly use the URL variable and drop the no longer needed script.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Currently things are a bit mixed up - just rename all the files to
include the BUILD_VERSION and consistently use the rootfs_file variable.
Throw in some quotes while in there.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
The image template, has a before_script stage which is overridden by all
instances that use it. Just drop it - it's rather misleading.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
So it can be useful for the wider community. I've intentionally left it
out as separate commit, since:
- it is untested
- there is lots of duplication that can/should be fixed
- if publishing seems like an overkill, people can locally still use it
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>