NetworkManager/.gitlab-ci
Íñigo Huguet 67eb8c5c2b CI: fix meson tarball testing with old meson version
The test "tarball+meson" fails on systems with old meson version with
the message "ERROR: Neither directory contains a build file
meson.build". This message is raised when calling `meson dist` from the
build directory.

According to meson documentation, `meson dist` is supported since 0.52,
and older vesions need to execute `ninja dist`.
https://mesonbuild.com/Creating-releases.html

Also, when using meson.add_dist_script, the env variable MESON_SOURCE_ROOT
is not passed in versions < 0.54. As we don't use it in the script,
don't assert for it.

We claim to support down to meson 0.47.3 (we need to raise it because we
are actually using a bit newer features, but that's another topic). Use
`ninja dist` that will work fine on old and new meson.

Fixes: 61f0531509 ('gitlab-ci: test re-buildability of distribution tarballs')
2024-04-04 08:17:26 +02: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 gitlab-ci: drop unsupported systems from the pipeline 2024-03-14 14:50:04 +01: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.