From 4bcf53a3513217e2db13f11df08152f2527f61b1 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Wed, 3 Jan 2024 12:41:26 +0000 Subject: [PATCH 1/3] Revert "ci: Temporarily only run the FreeBSD 13 CI on a schedule" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 35ec6b6387819b8efc64fb882440f5ee8ad84a05. The FreeBSD 13 CI runner now has the Python `packaging` package installed, so should work again. The FreeBSD 12 runner is EOL so can’t have that package installed, so will be dropped from GLib `main` in the next commit. See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3740#note_1957840 --- .gitlab-ci.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 647e374d1..ea2b92f4c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -559,10 +559,7 @@ freebsd-12-x86_64: - "_build/meson-logs" freebsd-13-x86_64: - # FIXME: Temporarily only run the FreeBSD 13 CI on a schedule, rather than on - # every commit to origin, because it’s broken: - # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3740#note_1935427 - extends: .only-schedules + extends: .only-origin stage: build tags: - freebsd-13 From bf133ec683f2fd15a6b38b8be7bd82f1c9f249f9 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Wed, 3 Jan 2024 12:42:49 +0000 Subject: [PATCH 2/3] =?UTF-8?q?ci:=20Drop=20FreeBSD=2012=20CI=20runner=20a?= =?UTF-8?q?s=20it=E2=80=99s=20EOL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It’s still going to be used on the `glib-2-78` branch because the dependencies there are frozen, but since it’s EOL it can’t have additional dependencies (like the Python `packaging` package) installed for `main`, so let’s drop it. We have the FreeBSD 13 runner on `main`. See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3740#note_1957840 Signed-off-by: Philip Withnall --- .gitlab-ci.yml | 46 ---------------------------------------------- 1 file changed, 46 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ea2b92f4c..c4202c5d8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -512,52 +512,6 @@ vs2017-x64-static: paths: - _build/meson-logs -freebsd-12-x86_64: - # The FreeBSD 13 build is run on each commit, so the FreeBSD 12 build can be - # run less regularly to save CI resources. The chance of a regression on - # FreeBSD 12 and not FreeBSD 13 is tiny. - extends: .only-schedules - stage: build - tags: - # To run a FreeBSD builder, install gitlab-runner package and start both - # gitlab-runner and dbus service because we need /var/lib/dbus/machine-id. - # To compile GLib, you still have to install the following packages: - # desktop-file-utils gettext libiconv meson pkgconf python3 shared-mime-info - - freebsd-12 - needs: [] - variables: - # CPPFLAGS is required because libintl doesn't use pkg-config. - CPPFLAGS: -I/usr/local/include - # FIXME: Workaround meson inability to set LD_LIBRARY_PATH. - # https://github.com/mesonbuild/meson/issues/1383 - # https://github.com/mesonbuild/meson/issues/1635 - # https://github.com/mesonbuild/meson/issues/2881 - LDFLAGS: -L/usr/local/lib -Wl,--disable-new-dtags - # FreeBSD supports C.UTF-8 locale since 12.1. - LANG: C.UTF-8 - before_script: - - bash .gitlab-ci/show-execution-environment.sh - script: - # We cannot use -Wl,--no-undefined because GLib uses 'environ' variable. - # FreeBSD supports xattr, but its API is different from Linux xattr. - # FIXME: extattr(2) support: https://gitlab.gnome.org/GNOME/glib/issues/1404 - # localstatedir is needed for access to /var/lib/dbus/machine-id - - meson setup ${MESON_COMMON_OPTIONS} --localstatedir=/var -Db_lundef=false -Dxattr=false _build - - meson compile -C _build - - bash -x ./.gitlab-ci/run-tests.sh - artifacts: - reports: - junit: - - _build/meson-logs/testlog.junit.xml - - _build/meson-logs/testlog-*.junit.xml - name: "glib-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" - when: always - expire_in: 1 week - paths: - - "_build/config.h" - - "_build/glib/glibconfig.h" - - "_build/meson-logs" - freebsd-13-x86_64: extends: .only-origin stage: build From eda5bb386bcd0ee83714f771c81ade442c38fc30 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Wed, 3 Jan 2024 12:54:02 +0000 Subject: [PATCH 3/3] ci: Temporarily disable --fatal-meson-warnings on FreeBSD CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For the same reasons as in commit 71061fdcb33b8c26f5f8467c, but in this case we can’t downgrade the version of Meson on the CI runner, so just tell it to shut up instead. Signed-off-by: Philip Withnall --- .gitlab-ci.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c4202c5d8..8a4fd3fbf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -525,7 +525,14 @@ freebsd-13-x86_64: before_script: - bash .gitlab-ci/show-execution-environment.sh script: - - meson setup ${MESON_COMMON_OPTIONS} --localstatedir=/var -Db_lundef=false -Dxattr=false _build + # FIXME: We can’t use ${MESON_COMMON_OPTIONS} here because the FreeBSD 13 + # runner has Meson 1.3 installed. This has an API hole where previous + # methods of getting paths from files() objects are rejected as deprecated, + # but no replacements are available. Hence, we can’t build with + # --fatal-meson-warnings. This should be fixed in Meson 1.4. It’s also fine + # with Meson 1.2.3 (which is what we use on all the other CI runners). + # See https://github.com/GNOME/glib/commit/71061fdcb33b8c26f5f8467cb3ac10704d65c87d + - meson setup --buildtype debug --wrap-mode=nodownload --localstatedir=/var -Db_lundef=false -Dxattr=false _build - meson compile -C _build - bash -x ./.gitlab-ci/run-tests.sh artifacts: