Use CI templates from wayland/ci-templates
We have started an effort to unify the various similar CI scripts that are used across freedesktop.org.
Some projects (weston, xserver, libinput) are using a similar workflow: they create a base CI image and reuse it in a second stage. Mesa is using the same process, so it can benefit from the same templates.
Benefits are:
- no more docker-in-docker (a plain container is enough to build the image)
- fewer lines of codes
- a reduced image size (from 900MB to 700MB)*
- we share in common the templates, so if there are bugs, CVE, we can update them more easily
- simpler install script (instead of a Dockerfile)
For references, here are the various MR where the discussion happened:
- wayland/weston!98 (closed) (closed in favor of 117)
- wayland/weston!117 (merged)
- xorg/xserver!149 (merged)
- libinput/libinput!181 (merged)
From a mesa developer point of view, there should be no differences: the image is still tagged with UBUNTU_TAG
, changing it will force a rebuild, and forks will attempt to grab the upstream image first, and will build it if not found.
* Few reasons for the reduced image size:
- the template takes care of not installing the man pages
- the template takes care of cleaning up large files not used after the installation
- the Dockerfile contained multiple
RUN
statement, each of which creates a new layer, with all of the temporary files mentioned above kept