From aad088531d019b4d731f758069957ea20e7687ec Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Mon, 15 Jan 2024 21:53:33 +0000 Subject: [PATCH 1/2] =?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 EOL and accordingly nobody wants to maintain the runner. We still have the FreeBSD 13 runner to test against (on this branch and 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 bd10823a2..a0c84f441 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -444,52 +444,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 b9c65641546265168155b0ae97b51019a7f51b02 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Wed, 3 Jan 2024 12:54:02 +0000 Subject: [PATCH 2/2] 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 a0c84f441..ef566e307 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -457,7 +457,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: