NetworkManager/.gitlab-ci
Thomas Haller 339f99c08e
gitlab-ci: drop builds for CentOS 8 (8.1.1911, 8.2.2004, 8.3.2011)
CentOS Linux 8 is long gone. We were only running tests on this old
build environment, to see how we fare in such environment.

The test was broken for 4+ months. Instead of fixing it, disable it.

It's partly caused by RHEL8, as it is somewhat cumbersome to even build
on CentOS 8. That's because some devel packages (like libteam-devel) are
not installable. As workaround for that, we re-build such packages in a
copr ([1]). The problem is, that we only have one copr build for e.g.
CentOS 8. If we rebuild against latest CentOS 8 Stream, then libteam is
build against newer dependencies, which are not installable on CentOS
Linux 8.1.1911 (etc). We would have to build libteam in a way, that
does not drag newer dependencies that are missing on CentOS Linux 8.

For example, trying to use copr [1] on CentOS Linux 8 and installing
"teamd" gives:

  Error:
   Problem: package teamd-devel-1.31-4.el8.x86_64 requires teamd = 1.31-4.el8, but none of the providers can be installed
    - conflicting requests
    - nothing provides libjansson.so.4(libjansson.so.4)(64bit) needed by teamd-1.31-4.el8.x86_64

This could be hacked around, for example by having libteamd-devel not
depend on any teamd package. Instead, just drop it. It's gone.

Arguable, CentOS 8 Stream should be reasonably close (in terms of
versions of gcc, glibc, glib) so we don't miss too much.

[1] https://copr.fedorainfracloud.org/coprs/nmstate/nm-build-deps/

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1793
2023-11-15 10:52:53 +01:00
..
alpine-install.sh gitlab-ci: enable test build on alpine linux 2020-12-11 18:14:10 +01:00
ci.template gitlab-ci: print the used clang-format version in "check-tree" test 2023-06-01 09:24:21 +02:00
config.yml gitlab-ci: drop builds for CentOS 8 (8.1.1911, 8.2.2004, 8.3.2011) 2023-11-15 10:52:53 +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 all: drop support for building with Python2 2023-11-14 10:29:48 +01: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.