From 74f1e58219324a4a7965cdec559b42bb4988e464 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Thu, 7 May 2020 13:22:02 +0100 Subject: [PATCH 1/5] ci: Add python3-pip to Fedora dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It’s needed to provide the `pip3` executable, which the `Dockerfile` later uses. Follow-up to !1464. Signed-off-by: Philip Withnall --- .gitlab-ci/fedora.Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci/fedora.Dockerfile b/.gitlab-ci/fedora.Dockerfile index 69548716e..39553e280 100644 --- a/.gitlab-ci/fedora.Dockerfile +++ b/.gitlab-ci/fedora.Dockerfile @@ -45,6 +45,7 @@ RUN dnf -y update \ ninja-build \ pcre-devel \ "python3-dbusmock >= 0.18.3-2" \ + python3-pip \ python3-pygments \ python3-wheel \ shared-mime-info \ From cbcc0aa1ea3de33d06e4b395198047db7b174b4f Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Thu, 7 May 2020 14:15:32 +0100 Subject: [PATCH 2/5] ci: Handle missing suite information in test output JSON The gtk-doc tests are hardcoded by Meson to output as `glib / gio-doc-check`, `glib / gobject-doc-check`, etc., without an explicit project name and suite. This causes the following exception in the report parser: ``` Traceback (most recent call last): File ".gitlab-ci/meson-junit-report.py", line 50, in (project_name, suite_name) = full_suite.split(':') ValueError: not enough values to unpack (expected 2, got 1) ``` Signed-off-by: Philip Withnall --- .gitlab-ci/meson-junit-report.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci/meson-junit-report.py b/.gitlab-ci/meson-junit-report.py index 0df07271b..90939ff6c 100755 --- a/.gitlab-ci/meson-junit-report.py +++ b/.gitlab-ci/meson-junit-report.py @@ -47,7 +47,11 @@ suites = {} for line in args.infile: data = json.loads(line) (full_suite, unit_name) = data['name'].split(' / ') - (project_name, suite_name) = full_suite.split(':') + try: + (project_name, suite_name) = full_suite.split(':') + except ValueError: + project_name = full_suite + suite_name = full_suite duration = data['duration'] return_code = data['returncode'] From e89f41d3bf5cc7f2eb846ffa2f46d1fb8d33eac8 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Thu, 7 May 2020 13:23:06 +0100 Subject: [PATCH 3/5] ci: Rebuild Fedora Docker image for latest Dockerfile changes See !1464. Signed-off-by: Philip Withnall --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 21a71d830..fb0454e57 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,7 +10,7 @@ cache: - _ccache/ variables: - FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/glib/fedora:v8" + FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/glib/fedora:v9" DEBIAN_IMAGE: "registry.gitlab.gnome.org/gnome/glib/debian-stable:v6" ANDROID_IMAGE: "registry.gitlab.gnome.org/gnome/glib/android-ndk:v3" MINGW_IMAGE: "registry.gitlab.gnome.org/gnome/glib/mingw:v2" From 57ed9098575b039af262152343139fe2ea22f4b1 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Thu, 14 May 2020 16:26:12 +0100 Subject: [PATCH 4/5] ci: Document access token permissions needed for uploading images New, finer-grained permissions are now supported in GitLab. Signed-off-by: Philip Withnall --- .gitlab-ci/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci/README.md b/.gitlab-ci/README.md index 6c128796e..f56cbbd49 100644 --- a/.gitlab-ci/README.md +++ b/.gitlab-ci/README.md @@ -15,7 +15,8 @@ GitLab CI jobs run in a Docker image, defined here. To update that image registry * If you use 2-factor authentication on your GNOME GitLab account, you'll need to [create a personal access token][pat] and use that rather than - your normal password + your normal password — the token should have `read_registry` and + `write_registry` permissions 1. Edit `.gitlab-ci.yml` (in the root of this repository) to use your new image From 60dd272b6a21a3cadecc0d2dc448e012de946a99 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Fri, 22 May 2020 09:32:52 +0100 Subject: [PATCH 5/5] docs: Bump gtk-doc requirement for unit tests to 1.32.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gtk-doc 1.33 hasn’t been released yet, but when it is, it’ll contain three fixes which are necessary for correctly detecting which symbols are undocumented/undeclared/unused in GLib: • gtk-doc@b866a90b • gtk-doc@ca42972c • gtk-doc@b922e148 1.32.1 is the development version number which will eventually be released as 1.33. Until then, we can’t run the gtk-doc tests in CI because they reliably fail spuriously. See !1488. Signed-off-by: Philip Withnall --- docs/reference/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/meson.build b/docs/reference/meson.build index 7c3e589ab..a676af12d 100644 --- a/docs/reference/meson.build +++ b/docs/reference/meson.build @@ -52,7 +52,7 @@ if get_option('gtk_doc') endif # Check we have the minimum gtk-doc version required. Older versions won't # generate correct documentation. - dependency('gtk-doc', version : '>=1.32', + dependency('gtk-doc', version : '>=1.32.1', fallback : ['gtk-doc', 'dummy_dep'], default_options : ['tests=false']) endif