Commit graph

24 commits

Author SHA1 Message Date
Thomas Haller
e4c66b5666
Revert "gitlab-ci: disable CentOS 8 Linux containers"
ci-templates now works around the earlier problem to install CentOS 8
Linux containers. Re-add the tests.

This reverts commit b2d2b8d6fa.
2022-02-21 17:03:37 +01:00
Thomas Haller
e73b78637c
gitlab-ci: update ci-templates version
We need the latest fix to bootstrap CentOS 8 Linux containers.

See-also: https://gitlab.freedesktop.org/freedesktop/ci-templates/-/merge_requests/131
See-also: https://gitlab.freedesktop.org/freedesktop/ci-templates/-/merge_requests/132
2022-02-21 17:03:37 +01:00
Thomas Haller
b2d2b8d6fa
gitlab-ci: disable CentOS 8 Linux containers
CentOS 8 Linux is end of life. That wouldn't bother us, but when
you start such a container

  $ podman run -ti --privileged quay.io/centos/centos:8.3.2011

then `dnf upgrade` will fail, because the mirror list returns
nothing. To work around that, we need to adjust ci-templates ([1]).

The work around might be to patch /etc/yum.repos.d when creating
the container image ([2]).

For now (or maybe indefinitely) disable these build targets.

[1] https://gitlab.freedesktop.org/freedesktop/ci-templates/-/merge_requests/131
[2] https://stackoverflow.com/questions/70926799/centos-through-vm-no-urls-in-mirrorlist
2022-02-14 17:15:20 +01:00
Thomas Haller
a4bc4f63db
gitlab-ci: regenerate ci-templates's containers 2022-02-14 17:02:34 +01:00
Thomas Haller
081510ed94 gitlab-ci: use Fedora 35 as default build target 2021-11-29 09:31:09 +00:00
Thomas Haller
8154285176
gitlab-ci: enable build on f35 and f36
There was a problem that the containers didn't correctly build.
That is now fixed. Reenable f35 and f36 (rawhide).
2021-09-22 10:12:24 +02:00
Thomas Haller
82b72a7379
gitlab-ci: drop fedora 28/29 from gitlab-ci
These containers are ancient. Also, when we update ci-templates
they will no longer build (because then a different container hub
will be used, which doesn't contain those images). Drop them.
2021-09-22 10:12:23 +02:00
Thomas Haller
ccd398caf7
gitlab-ci: temporarily disable Fedora 35 and 36
It fails to install the container. Disable it, until it is more
stable.

    ...
    Install  363 Packages
    Total download size: 275 M
    Installed size: 1.1 G
    Downloading Packages:
    python3: allocatestack.c:191: advise_stack_range: Assertion `freesize < size' failed.
    ./contrib/fedora/REQUIRED_PACKAGES: line 17:   815 Aborted                 $NM_INSTALL "$@"
    subprocess exited with status 134
    subprocess exited with status 134
    exit status 134
2021-08-30 13:14:00 +02:00
Thomas Haller
203b6fb194
gitlab-ci: update which distros to build 2021-08-30 13:14:00 +02:00
Thomas Haller
cf1b726157
gitlab-ci: regenerate ci-templates's containers 2021-07-21 10:11:55 +02:00
Thomas Haller
8dddb7544f
gitlab-ci: regenerate ci-templates's containers 2021-07-12 17:38:49 +02:00
Thomas Haller
aba1754a80
gitlab-ci: bump tag for cached container images
This results in a rebuild of the containers, which is a good idea as we
didn't do that for a while.
2021-06-23 21:02:49 +02:00
Thomas Haller
901f0bdeb3
gitlab-ci: fix running Fedora 34 test by default
- the container that is also "pages_build" should always
  run automatically. This can replace the "always" tag.

- comment out the "always: 33" part, because we no longer need
  it. It was also wrong, because by now we should run Fedora 34
  automatically.
2021-05-04 15:42:26 +02:00
Thomas Haller
ebde0a3506
gitlab: update pages build to use Fedora 34 container 2021-05-04 13:56:28 +02:00
Thomas Haller
b32dc4f2cf
gitlab: add Fedora 34 container for CI pipeline 2021-05-04 13:56:25 +02:00
Thomas Haller
7e32c3efda
gitlab-ci: generate new container images for tests
- the python-black version on Fedora 33 was updated, and this formats
  our python code differently. The black version that is used by our
  gitlab-ci is the authoritative version that should be used. Update
  it by regenerating the containers.

- especially Fedora:rawhide and Debian:sid often introduce changes that
  will cause a break of our build. Update the containers to test latest
  versions.
2021-01-28 14:50:39 +01:00
Thomas Haller
a1002bd93a
gitlab-ci: enable test build on alpine linux
Alpine is especially interesting because it uses musl as libc.

The build does not yet succeed. There are several issues that
need to be fixed.

However, it will be simpler to fix things, if we have tests
in place -- even if at the moment they are known to be broken.

See-also: https://git.alpinelinux.org/aports/tree/community/networkmanager?h=master
2020-12-11 18:14:10 +01:00
Thomas Haller
9960c8d727
gitlab-ci: add CentOS 7.9 and 8.2 images 2020-11-24 18:44:11 +01:00
Thomas Haller
539c00a8a1
gitlab-ci: automatically hash build scripts into tag for ci-templates container
ci-templates builds and caches the test containers. When the build
scripts, the ci-template or "config.yml" changes, we need to bump
the tag so that the containers get rebuild.

Partly automate this. The tag now gets generated by the template and
contains a checksum of certain build files. Thus, if you change
any build files, then `ci-fairy generate-template` would generate a
different tag. You can not miss that, because we have tests that ensure
that our ".gitlab-ci.yml" is up to date. Also, you no longer need to
manually bump the tag when a build script changes, just regenerate
".gitlab-ci.yml" with `ci-fairy generate-template`.

See also: https://gitlab.freedesktop.org/freedesktop/ci-templates/-/merge_requests/54
2020-11-17 09:40:35 +01:00
Thomas Haller
9ebf5f938c
gitlab-ci: bump default-tag 2020-11-10 13:51:29 +01:00
Thomas Haller
f19f3f74c6
gitlab-ci: add ubuntu:20.04 test and reorder versions 2020-11-09 10:48:05 +01:00
Thomas Haller
cfc7688ec2
gitlab-ci: let Fedora 33 test always run
That is now the one that generates the pages and runs checkpatch stage.
2020-11-09 10:46:19 +01:00
Thomas Haller
b780f9315c
gitlab-ci: generate pages on Fedora 33 image
On one image we do extra work, like generating documentation (gitlab-pages).
The same image is currently also used for the "checkpatch" step. That step
checks code formatting using clang-format. The formatting depends on the
clang version, and we currently choose Fedora 33 as the desired version
for formatting.

It means, the "checkpatch" step requires Fedora 33. We could choose a
different image for generating pages and run check patch. However, that
might not be best. Just also generate the pages using Fedora 33.
2020-11-09 10:34:19 +01:00
Peter Hutterer
35334f478b
gitlab CI: switch to using ci-templates
ci-templates encourages building specific containers that can be re-used:
- containers are re-used across pipelines, producing consistent results
- containers are re-used by contributors since they will use the upstream
  containers for their MR, thus guaranteeing the same results.

Containers are automatically rebuild whenever the respective
FDO_DISTRIBUTION_TAG changes. This is particularly interesting now that
Docker Hub will introduce pull limits.

This CI script consists of a config file and a jinja2 template, simply
running 'ci-fairy generate-template' produces the .gitlab-ci.yml.
ci-fairy is part of the freedesktop.org ci-templates and can be pip
installed, see the check-ci-script job.

Functional changes to the previous script:
- new job: check-ci-script, verifies that our gitlab-ci.yml is the one
  generated by the sources
- Added distributions:
  - Fedora 33
- The actual work is now down by a set of scripts in .gitlab-ci/,
  specifically:
  - .gitlab-ci/build.sh is the previous do_build job
  - .gitlab-ci/{fedora|debian}-install.sh are the previous {fedora|debian}_install jobs
  symlinks are in place for centos and ubuntu

Why the scripts instead of steps in the CI? Easer to reading and
reproduce. With the containers being static, it's easy to pull one
locally and re-run the CI job to reproduce an issue. Having everything in a
single script makes that trivial.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/664
2020-11-09 09:28:11 +01:00