NetworkManager/.gitlab-ci
Íñigo Huguet 6f34b404e8 distros-info: add script to extract useful info from distros-info.yml
Passing a version number of NetworkManager to this new script, it prints
what distros are using that NM version and generates a new content for
.gitlab-ci/config.yml.

Automatically generating the config.yml content is useful because we can
easily update what distros we test in the CI and the Tier that they
belong, depending on what version of NM do they ship and whether they
have reached EOL or not.

Important: when generating a config.yml for an stable branch, not for
main, it must be generated from main. This is because we are not going
to keep distros-info.yml up to date in all branches, only in main.
2024-09-10 11:32:32 +00:00
..
alpine-install.sh gitlab-ci: enable test build on alpine linux 2020-12-11 18:14:10 +01:00
ci.template gitlab-ci: ensure coverity job runs weekly 2024-06-28 07:35:32 +00:00
config.yml ci: remove CentOS Stream 8 (EOLd) 2024-08-21 09:00:05 +02:00
coverity.sh gitlab-ci: add coverity submissions to weekly scheduled CI 2024-06-26 12:58:03 +02:00
debian-install.sh gitlab-ci: fix detection and handling of Ubuntu 18.04 2023-06-30 18:51:13 +02:00
distros-info.yml distros-info: update some distros and add useful links 2024-09-10 11:32:32 +00:00
distros_support.py distros-info: add script to extract useful info from distros-info.yml 2024-09-10 11:32:32 +00:00
fedora-install.sh gitlab: fix helper scripts to support DNF5 2024-05-30 15:23:32 +02:00
README.md gitlab-ci: add .gitlab-ci/README.md 2023-06-06 12:35:09 +02:00
run-test.sh gitlab: drop the autotools jobs 2024-05-31 16:53:02 +02:00

.gitlab-ci

We run tests in the gitlab-ci pipeline at https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/pipelines

This directory contains a template for generating .gitlab-ci.yml.

It uses ci-templates project.

To get the right version of ci-templates, see the "Regenerate with" comment in .gitlab-ci.yml. It shows how to install ci-fairy via python pip. The exact version to be used is hard-coded as .templates_sha variable in ci.template file.

Whenever changing relevant files, .gitlab-ci.yml must be regenerated. Regenerate the yml by running ci-fairy generate-template.

There are also tests for checking that the yml is correct:

  1. run tools/check-gitlab-ci.sh
  2. run make check-local-gitlab-ci, which runs 1). This also runs as part of make check.

In both cases, the test is skipped if ci-fairy is not in the path. Install the correct ci-fairy version.

In gitlab-ci pipeline, the "check-tree" test also checks that .gitlab-ci.yml is up to date.