Draft: feat: build docker image for ci runtime − reduce bandwidth and CPU time consumption
Hi (me again)
Theses changes do something with #85 (closed), which has been closed for two years now. I proposed to create an container image with all damned-lies
dependencies.
I wish to continue this work by using this image in order to lower the load on the CI. By creating an image with all damned-lies
dependencies, we lower the bandwidth and CPU time consumption. Images are stored locally (even if they are already in cache in the local registry) and the download & installation of system packages are done once for all.
As dependencies do not change every single day, I propose not to run the job automatically at the beginning or every pipeline but to run it when triggered (API, manual, schedule). What I recommand is maybe to add a scheduled pipeline, every two weeks, to rebuild the system and publish the new image in the Gitlab project registry.
Once merged, it will be necessary, if these settings are kept, to manually trigger a pipeline on master
.
- You can see a successful pipeline here: https://gitlab.gnome.org/gbernard/damned-lies/-/pipelines/276473
- And the registry: https://gitlab.gnome.org/gbernard/damned-lies/container_registry
This is a WIP (again) so the discussion is now open :-)
NB: I have to thanks the Infrastructure Team who provided me links to the docker-images and gnome-runtime-images projects to get running examples.