From b78f5240307cc7f8c7e56d914dfded14f8ac726f Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Wed, 26 Nov 2025 14:16:26 +0000 Subject: [PATCH] ci: Enable the gobject-introspection build for the debian-stable-i386 job So the introspection tests which check architecture-specific things are run on an i386 architecture. This gives the best check we have that the libgirepository code is actually architecture independent. This requires adding some missing dependencies to the Debian Dockerfile which gobject-introspection.git needs. It also means enabling `sudo` on those containers. Signed-off-by: Philip Withnall --- .gitlab-ci.yml | 7 +++++-- .gitlab-ci/debian-stable.Dockerfile | 10 +++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 56265c7d0..7090eda64 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,8 +39,8 @@ cache: variables: FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/glib/fedora:v41.1" COVERITY_IMAGE: "registry.gitlab.gnome.org/gnome/glib/coverity:v7" - DEBIAN_IMAGE: "registry.gitlab.gnome.org/gnome/glib/debian-stable:v24" - DEBIAN_I386_IMAGE: "registry.gitlab.gnome.org/gnome/glib/debian-stable-i386:v4" + DEBIAN_IMAGE: "registry.gitlab.gnome.org/gnome/glib/debian-stable:v25" + DEBIAN_I386_IMAGE: "registry.gitlab.gnome.org/gnome/glib/debian-stable-i386:v5" ALPINE_IMAGE: "registry.gitlab.gnome.org/gnome/glib/alpine:v8" MINGW_IMAGE: "registry.gitlab.gnome.org/gnome/glib/mingw:v41.1" GOBJECT_INTROSPECTION_TAG: "1.80.1" @@ -295,6 +295,7 @@ fedora-x86_64: .build-debian: extends: + - .build-gobject-introspection - .build-linux - .with-git stage: build @@ -302,6 +303,7 @@ fedora-x86_64: before_script: - !reference [".build-linux", "before_script"] - !reference [".with-git", "before_script"] + - !reference [".build-gobject-introspection", "before_script"] script: - meson setup ${MESON_COMMON_OPTIONS} --werror @@ -311,6 +313,7 @@ fedora-x86_64: --libdir=lib -Dsystemtap=enabled -Ddtrace=enabled + -Dintrospection=enabled _build - meson compile -C _build - .gitlab-ci/run-tests.sh diff --git a/.gitlab-ci/debian-stable.Dockerfile b/.gitlab-ci/debian-stable.Dockerfile index 572e3bea6..cc2e760b4 100644 --- a/.gitlab-ci/debian-stable.Dockerfile +++ b/.gitlab-ci/debian-stable.Dockerfile @@ -3,6 +3,7 @@ FROM ${ARCHITECTURE_PREFIX}debian:bookworm RUN apt-get update -qq && apt-get install --no-install-recommends -qq -y \ bindfs \ + bison \ black \ clang \ clang-tools \ @@ -12,6 +13,7 @@ RUN apt-get update -qq && apt-get install --no-install-recommends -qq -y \ elfutils \ findutils \ flake8 \ + flex \ fuse \ gcc \ gdb \ @@ -32,18 +34,21 @@ RUN apt-get update -qq && apt-get install --no-install-recommends -qq -y \ libmount-dev \ libpcre2-dev \ libselinux1-dev \ + libunwind-dev \ libxml2-utils \ libxslt1-dev \ libz3-dev \ locales \ ninja-build \ python3 \ + python3-dev \ python3-pip \ python3-setuptools \ python3-wheel \ reuse \ shared-mime-info \ shellcheck \ + sudo \ systemtap-sdt-dev \ unzip \ wget \ @@ -74,9 +79,12 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8 RUN pip3 install --break-system-packages meson==1.4.2 +# Enable passwordless sudo for sudo users +RUN echo "%sudo ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/sudo-nopasswd + ARG HOST_USER_ID=5555 ENV HOST_USER_ID ${HOST_USER_ID} -RUN useradd -u $HOST_USER_ID -ms /bin/bash user +RUN useradd -u $HOST_USER_ID -G sudo -ms /bin/bash user USER user WORKDIR /home/user