summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
Commit message (Collapse)AuthorAgeFilesLines
* gitlab-ci: regenerate imageslr/fix-debianLubomir Rintel2022-06-271-5/+5
|
* gitlab-ci: add f37 and Ubuntu 22.04 containersThomas Haller2022-05-301-5/+67
|
* gitlab-ci: use "nm-python-black-format.sh" script on "check-tree"Thomas Haller2022-04-011-6/+6
|
* gitlab-ci: fix archiving build logThomas Haller2022-03-301-7/+8
| | | | | | | | | | | | | | | During the test, we `tee` the output to a log file in "/tmp". We do that, because the test script cleans the working directory several times, so the file cannot reside there. Afterwards, we need to move the file back into the git-tree, so that gitlab can archive it. Previously that was done by "after_script", but the "after_script" may not see the same "/tmp" as the test run ([1]). This needs to be done as part of the "script" step. [1] https://docs.gitlab.com/ee/ci/yaml/#after_script
* gitlab-ci: rework extends: for "check-{patch,tree}" jobsThomas Haller2022-03-211-17/+17
| | | | | | | | | | | | The "check-{patch,tree}" jobs use the same container as the default test on Fedora ("pages_build", which also builds our documentation). Previously, we thus extended "t_fedora:35". But that way we also got things that we didn't want (.nm_artifacts and .build@template). Solve this differently, by letting the jobs directly define what they need. It's not much more, than extending "t_fedora:35" and workaround to drop stuff we don't want.
* gitlab-ci: archive log of testThomas Haller2022-03-211-7/+46
| | | | | | Our test is long and verbose. The output gets truncated after a few megabytes, but sometimes it's interesting to see what happens afterwards. Redirect also to a file and archive it.
* gitlab-ci: print environment variables not part of run-test.sh scriptThomas Haller2022-03-211-5/+6
| | | | | | | | | | | | | | The output of our test scripts is captured by gitlab. It does however sanitize things that look like secrets. So it was reasonably save to call `env` from within the test script. Next, we will redirect (`tee`) the output of the test script to a file and archive it. When we do that, the output does not get sanitized and can be downloaded from the artifacts page. Stop running `env` as part of the test script. Do it instead as a separate step. After all, it is useful to see the environment variables of the test. But sanitized.
* gitlab-ci: rename "build.sh" script to "run-test.sh"Thomas Haller2022-03-211-6/+6
| | | | | | | It's true, that our gitlab-ci test mostly consists of building NetworkManager. Hence the name of the script was not entirely wrong. But it's not only building. I think "run-test.sh" is a much better name. Rename.
* gitlab-ci: make "contrib/debian/REQUIRED_PACKAGES" verbose during container ↵Thomas Haller2022-03-161-2/+2
| | | | | | installation To help debugging the script.
* gitlab-ci: bump tag to regenerate containersThomas Haller2022-03-161-5/+5
|
* contrib: install "policykit-1" package on DebianThomas Haller2022-03-161-2/+2
| | | | | | | This is needed to get "/usr/share/gettext/its/polkit.its", otherwise msgfmt will fail on Debian: /usr/bin/msgfmt: cannot locate ITS rules for data/org.freedesktop.NetworkManager.policy.in
* Revert "gitlab-ci: disable CentOS 8 Linux containers"Thomas Haller2022-02-211-5/+95
| | | | | | | ci-templates now works around the earlier problem to install CentOS 8 Linux containers. Re-add the tests. This reverts commit b2d2b8d6fa05e6911c3a7599b35e38e149ddf873.
* gitlab-ci: update ci-templates versionThomas Haller2022-02-211-6/+6
| | | | | | | 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
* gitlab-ci: fix CentOS Linux 8 containers during ".gitlab-ci/fedora-install.sh"Thomas Haller2022-02-211-2/+2
| | | | | See-also: https://stackoverflow.com/questions/70926799/centos-through-vm-no-urls-in-mirrorlist See-also: https://techglimpse.com/failed-metadata-repo-appstream-centos-8/
* gitlab-ci: disable CentOS 8 Linux containersThomas Haller2022-02-141-95/+5
| | | | | | | | | | | | | | | | | | 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
* gitlab-ci: regenerate ci-templates's containersThomas Haller2022-02-141-5/+5
|
* gitlab-ci: use Fedora 35 as default build targetThomas Haller2021-11-291-11/+11
|
* gitlab-ci: enable build on f35 and f36Thomas Haller2021-09-221-5/+65
| | | | | There was a problem that the containers didn't correctly build. That is now fixed. Reenable f35 and f36 (rawhide).
* gitlab-ci: update used ci-templates versionThomas Haller2021-09-221-6/+6
| | | | | It seems there is a problem building f35/f36 containers. Update the ci-templates version.
* gitlab-ci: drop fedora 28/29 from gitlab-ciThomas Haller2021-09-221-65/+5
| | | | | | 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.
* contrib: explicitly pass "-n" to "nm-code-format.sh" in gitlab-ci check-tree jobThomas Haller2021-09-161-6/+6
| | | | | | "nm-code-format.sh" is going to change the default behavior from "-n" to "-i", that is, from check-only to reformat. Explicitly pass "-n" where we want it.
* gitlab-ci: fix regenerating .gitlab-ci.ymlThomas Haller2021-08-301-2/+2
| | | | Fixes: 414d2c1d4b3e ('contrib,gitlab-ci: fix "contrib/fedora/REQUIRED_PACKAGES" to install "vala"')
* gitlab-ci: temporarily disable Fedora 35 and 36Thomas Haller2021-08-301-65/+5
| | | | | | | | | | | | | | | | 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
* gitlab-ci: update which distros to buildThomas Haller2021-08-301-12/+102
|
* contrib: remove "vala-tools" from "contrib/fedora/REQUIRED_PACKAGES"Thomas Haller2021-08-301-2/+2
| | | | | | | Since Fedora 25, vala-tools was merged with "vala" package. And on rawhide (f36) it's gone completely and leads to a failure of the script. Drop it.
* gitlab-ci: regenerate ci-templates's containersThomas Haller2021-07-211-5/+5
|
* gitlab-ci: regenerate ci-templates's containersThomas Haller2021-07-121-5/+5
|
* gitlab-ci: bump tag for cached container imagesThomas Haller2021-06-231-5/+5
| | | | | This results in a rebuild of the containers, which is a good idea as we didn't do that for a while.
* gitlab-ci: fix error evaluating "distro.always" in ci.templateThomas Haller2021-05-261-5/+5
| | | | | | | | | | | ... File "/usr/local/lib/python3.9/site-packages/jinja2/environment.py", line 1361, in generate yield self.environment.handle_exception() File "/usr/local/lib/python3.9/site-packages/jinja2/environment.py", line 925, in handle_exception raise rewrite_traceback_stack(source=source) File ".gitlab-ci/ci.template", line 178, in top-level template code {% if not version in distro.always and (distro.name != pages_build.name or version != pages_build.version) %} jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'always'
* Revert "contrib: no longer install libuuid as build dependency"Thomas Haller2021-05-261-4/+4
| | | | | | | | | | | | Ups, we actually still require libuuid. Actually, we only need to to build the example script `examples/C/glib/add-connection-gdbus.c`. The proper solution would be to make this an optional dependency. So far this was not yet done. Also, libuuid is really an ubiquitous dependency on Linux, so it's not really a problem to have this build dependency, even if it's just to build the examples. This reverts commit c0a3947ff9571b0b36b3c1acc358ea7d8599afa9.
* gitlab-ci: belatedly regenerate `.gitlab-ci.yml`Thomas Haller2021-05-261-4/+4
|
* gitlab-ci: fix running Fedora 34 test by defaultThomas Haller2021-05-041-7/+10
| | | | | | | | | - 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.
* gitlab: update pages build to use Fedora 34 containerThomas Haller2021-05-041-10/+10
|
* gitlab: add Fedora 34 container for CI pipelineThomas Haller2021-05-041-5/+35
|
* contrib: install clang-format via REQUIRED_PACKAGESThomas Haller2021-05-041-2/+2
| | | | | | | | On Fedora 33, we get it automatically because "clang" package has an indirect (weak) dependency for clang-tools-extra. On Fedora 34, that is no loger the case. We need to explicitly install it.
* gilab-ci: update .gitlab-ci.yml to use "main" branch nameThomas Haller2021-04-011-6/+6
|
* gitlab-ci: generate new container images for testsThomas Haller2021-01-281-5/+5
| | | | | | | | | | | - 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.
* gitlab-ci: install missing packages on Alpine LinuxThomas Haller2020-12-231-1/+1
| | | | | | The "contrib/alpine/REQUIRED_PACKAGES" script is also used by gitlab-ci to setup the test container. These packages are required for unit tests.
* gitlab-ci: enable test build on alpine linuxThomas Haller2020-12-111-4/+40
| | | | | | | | | | | | 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
* gitlab-ci: update used "ci-templates" versionThomas Haller2020-12-111-5/+5
|
* gitlab-ci: fix failure to enable PowerTools on CentOS8 buildThomas Haller2020-12-111-2/+2
| | | | | Seems that the repository was renamed (or can sometimes have a different name). Try both the "PowerTools" and "powertools" name.
* all: avoid GNU "which" from shell scriptsThomas Haller2020-12-111-2/+2
| | | | | | "which" is a separate package and may not be installed. Also, shell has a built-in command for the same purpose. Use that.
* gitlab-ci: add CentOS 7.9 and 8.2 imagesThomas Haller2020-11-241-4/+64
|
* gitlab CI: remove leftover comments referring to libinputPeter Hutterer2020-11-181-6/+5
| | | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/684
* gitlab-ci: combine ubuntu/centos install scripts with their debian/fedora ↵Thomas Haller2020-11-171-6/+6
| | | | | | | | | | | | | | | | | | counterparts Ubuntu/Debian and CentOS/Fedora are sufficiently similar that it's better that we have only one variant of ".gitlab-ci/*-install.sh" and "contrib/*/REQUIRED_PACKAGES". This was already the case, however, we used to symlink ".gitlab-ci/centos-install.sh" to "fedora-install.sh". That worked, but it didn't scale very well. For example, if we would follow that pattern, we would also need a symlink "contrib/centos/REQUIRED_PACKAGES" Or should "contrib/centos" symlink to "contrib/fedora"? That seems even more wrong. We already had the "distro.base_type" variable for that. Make use of that also for the install script.
* gitlab-ci: install correct version of ci-templates in build scriptThomas Haller2020-11-171-2/+2
| | | | | | | It's not clear that ci-fairy has a stable API. Instead, we pin the version by specifying the git commit sha. In the build script, install the pinned version.
* gitlab-ci: automatically hash build scripts into tag for ci-templates containerThomas Haller2020-11-171-5/+5
| | | | | | | | | | | | | | | | 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
* gitlab-ci: automatically run prep-container to fix hanging testsThomas Haller2020-11-111-20/+20
| | | | | | | | | | | | | | The goal is to run most distros only manually. However, it would be nice to avoid (manually) clicking twice to start the tests for one distro: once for the container preparation, and once for the actual test. Previously, the container prep part was set to manual and the actual test automatic. It worked almost as desired, except that this leads to the entire gitlab-ci pipeline be be in running state indefinitely. To fix that, always run the container prep steps. If the container is cached, this is supposed to be fast and cheap. Now only the actual tests are marked as "manual".
* gitlab-ci: add "needs" for pages testThomas Haller2020-11-111-0/+2
| | | | | | It seems "pages" test does not get properly triggered, if only t_fedora:33 completes. It should, because the other distros are optional. Try to set "needs" to fix that.
* gitlab-ci: fix building artifacts (pages) during gitlab-ci testThomas Haller2020-11-101-0/+4
|