NetworkManager/.gitlab-ci
Íñigo Huguet ff101ada3a ci: update distributions that we test in the CI
We had an agreement on what distributions should we test and when. We'll
test in Tier 2 those distros that can potentially use the current
version of NM and in Tier 3 those distros that are still maintained (not
EOL'd).

So, Tier 2 is to catch errors that might be severe because might be
blocking for the distributions planning to use the current NM version,
they must be fixed ASAP, before doing the release if possible. These
"distribution versions" will be different for main branch than for
stable branches:
 - Debian 12 uses NM-1.42, so Debian 12 should be Tier 2 in the branch
   nm-1-42.
 - However, Debian 12 will never use newer stable versions, so it should
   be Tier 3 in main branch.

We want to run the Tier 3 tests even if those distros won't use newer
vesions of NM because they are useful to test NM compilation with older
compilers and tools. Fixing failures here might not be considered
urgent, though.

To save resources from Freedesktop we'll run Tier 1 on every MR and
Tiers 2 and 3 before doing a release, or on demand if we need.
2024-04-08 06:35:20 +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: test re-buildability of distribution tarballs 2024-03-01 07:51:21 +00:00
config.yml ci: update distributions that we test in the CI 2024-04-08 06:35:20 +00:00
debian-install.sh gitlab-ci: fix detection and handling of Ubuntu 18.04 2023-06-30 18:51:13 +02:00
fedora-install.sh gitlab-ci: drop builds for CentOS 8 (8.1.1911, 8.2.2004, 8.3.2011) 2023-11-15 10:52:53 +01:00
README.md gitlab-ci: add .gitlab-ci/README.md 2023-06-06 12:35:09 +02:00
run-test.sh CI: fix meson tarball testing with old meson version 2024-04-04 08:17:26 +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.