Skip to content

Draft: gitlab CI: set up a pipeline to be called from other libX* projects

Peter Hutterer requested to merge whot/libx11:wip/libxstar-pipelines into master

We have a lot of libX* repositories, most of these unmaintained. But having something ensure they build if a MR is submitted is useful, but not at the cost of 30+ gitlab CI scripts that need to be maintained.

This patch adds a centralized approach: libX11 has a pipeline that can be triggered from any libX* project with a simple stanza. The pipeline has jobs for the dependencies, builds those from git, installs them and eventually builds the project that triggered the job.

e.g. where the pipeline triggers with PROJECT_NAME: libXi, we build libXau, libXdmcp, libX11, libXext, libXfixes and finally run distcheck against libXi.

The dependencies need to be maintained manually, along with the extra packages required (e.g. asciidoc), but that too is in a central config file here in libX11.

The jobs are generated with ci-fairy using Jinja2 templates. Only jobs that are within the current dependency pipeline are run by the CI, all other jobs are ignored.

cc @bentiss

Requires freedesktop/ci-templates!58 (merged)

Merge request reports