gitlab-ci: Bump CI to Trixie and LTS to bookworm

This includes a few changes, but given that we still want to bisect
things when they break I'm pulling some of the changes into a bigger change.

Here's a list of most noticeable that I had to address in order to make
this switch:

- added a PACKAGES_SPECIFIC env variable to able to pass different
  packages to each version. Some packages basically changed their names
  and need to pass a different name
- added USE_DEBIAN_BACKPORTS and use it when adding -backport apt
  sources for each Debian version
- llvm-19 now requires some additional packages for trixie
- add imghdr for sphinx for trixie
- had to keep use_tls=0 and modified the notes to point now to Trixie
  instead of Bookworm

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
This commit is contained in:
Marius Vlad 2025-12-16 10:16:39 +02:00 committed by Daniel Stone
parent 0680683539
commit 1e55fd2449
3 changed files with 18 additions and 14 deletions

View file

@ -43,7 +43,7 @@
variables: variables:
FDO_UPSTREAM_REPO: wayland/weston FDO_UPSTREAM_REPO: wayland/weston
FDO_REPO_SUFFIX: "$BUILD_OS-$FDO_DISTRIBUTION_VERSION/$BUILD_ARCH" FDO_REPO_SUFFIX: "$BUILD_OS-$FDO_DISTRIBUTION_VERSION/$BUILD_ARCH"
FDO_DISTRIBUTION_TAG: '2025-12-10-linux-6.18' FDO_DISTRIBUTION_TAG: '2025-12-16-bump-to-trixie'
include: include:
@ -93,20 +93,23 @@ stages:
.os-debian-lts: .os-debian-lts:
variables: variables:
BUILD_OS: debian BUILD_OS: debian
LLVM_VERSION: 11 LLVM_VERSION: 15
USE_DEBIAN_BACKPORTS: y
PACKAGES_SPECIFIC: vulkan-validationlayers-dev
FREERDP_VERSION: 2 FREERDP_VERSION: 2
FDO_DISTRIBUTION_VERSION: bullseye FDO_DISTRIBUTION_VERSION: bookworm
FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} BUILD_ARCH=${BUILD_ARCH} KERNEL_IMAGE=${KERNEL_IMAGE} KERNEL_DEFCONFIG=${KERNEL_DEFCONFIG} LLVM_VERSION=${LLVM_VERSION} FDO_DISTRIBUTION_VERSION=${FDO_DISTRIBUTION_VERSION} bash .gitlab-ci/debian-install.sh' FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} BUILD_ARCH=${BUILD_ARCH} KERNEL_IMAGE=${KERNEL_IMAGE} KERNEL_DEFCONFIG=${KERNEL_DEFCONFIG} LLVM_VERSION=${LLVM_VERSION} FDO_DISTRIBUTION_VERSION=${FDO_DISTRIBUTION_VERSION} PACKAGES_SPECIFIC="${PACKAGES_SPECIFIC}" bash .gitlab-ci/debian-install.sh'
.os-debian: .os-debian:
variables: variables:
BUILD_OS: debian BUILD_OS: debian
LLVM_VERSION: 15 LLVM_VERSION: 19
FREERDP_VERSION: 3 FREERDP_VERSION: 3
USE_BOOKWORM_BACKPORTS: y USE_DEBIAN_BACKPORTS: y
# If you upgrade from bookworm, see the use_tls=0 notes in tests/meson.build. PACKAGES_SPECIFIC: vulkan-utility-libraries-dev libpolly-19-dev libclang-rt-19-dev python3-standard-imghdr
FDO_DISTRIBUTION_VERSION: bookworm # If you upgrade from trixie, see the use_tls=0 notes in tests/meson.build.
FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} BUILD_ARCH=${BUILD_ARCH} KERNEL_IMAGE=${KERNEL_IMAGE} KERNEL_DEFCONFIG=${KERNEL_DEFCONFIG} LLVM_VERSION=${LLVM_VERSION} FDO_DISTRIBUTION_VERSION=${FDO_DISTRIBUTION_VERSION} bash .gitlab-ci/debian-install.sh' FDO_DISTRIBUTION_VERSION: trixie
FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} BUILD_ARCH=${BUILD_ARCH} KERNEL_IMAGE=${KERNEL_IMAGE} KERNEL_DEFCONFIG=${KERNEL_DEFCONFIG} LLVM_VERSION=${LLVM_VERSION} FDO_DISTRIBUTION_VERSION=${FDO_DISTRIBUTION_VERSION} PACKAGES_SPECIFIC="${PACKAGES_SPECIFIC}" bash .gitlab-ci/debian-install.sh'
# Does not inherit .default-rules as we only want it to run in MR context. # Does not inherit .default-rules as we only want it to run in MR context.
check-commit: check-commit:

View file

@ -38,9 +38,10 @@ MESA_RUNTIME_PKGS="
libllvm${LLVM_VERSION} libllvm${LLVM_VERSION}
" "
if [ x"$USE_BOOKWORM_BACKPORTS" = "xy" ] ; then if [ x"$USE_DEBIAN_BACKPORTS" = "xy" ] ; then
echo 'deb http://deb.debian.org/debian bookworm-backports main' >> /etc/apt/sources.list echo 'deb http://deb.debian.org/debian '${FDO_DISTRIBUTION_VERSION}'-backports main' >> /etc/apt/sources.list
fi fi
apt-get update apt-get update
apt-get -y --no-install-recommends install \ apt-get -y --no-install-recommends install \
autoconf \ autoconf \
@ -67,7 +68,7 @@ apt-get -y --no-install-recommends install \
libexpat1-dev \ libexpat1-dev \
libffi-dev \ libffi-dev \
libgbm-dev \ libgbm-dev \
libgdk-pixbuf2.0-dev \ libgdk-pixbuf-xlib-2.0-dev \
libgles2-mesa-dev \ libgles2-mesa-dev \
libglu1-mesa-dev \ libglu1-mesa-dev \
libgstreamer1.0-dev \ libgstreamer1.0-dev \
@ -124,7 +125,6 @@ apt-get -y --no-install-recommends install \
python3-setuptools \ python3-setuptools \
qemu-system \ qemu-system \
sysvinit-core \ sysvinit-core \
vulkan-validationlayers-dev \
x11proto-dev \ x11proto-dev \
xwayland \ xwayland \
python3-argcomplete \ python3-argcomplete \
@ -134,6 +134,7 @@ apt-get -y --no-install-recommends install \
$MESA_DEV_PKGS \ $MESA_DEV_PKGS \
$BUILD_DEV_PKGS \ $BUILD_DEV_PKGS \
$MESA_RUNTIME_PKGS \ $MESA_RUNTIME_PKGS \
$PACKAGES_SPECIFIC \
$LINUX_DEV_PKGS \ $LINUX_DEV_PKGS \
if [ "$FREERDP_VERSION" -ne 0 ] ; then if [ "$FREERDP_VERSION" -ne 0 ] ; then

View file

@ -432,7 +432,7 @@ test_env = {}
# program exit when it scans for leaks. Due to use_tls=0 even more # program exit when it scans for leaks. Due to use_tls=0 even more
# suppressions had to be added. # suppressions had to be added.
# TODO XXX: Try to revert the addition of use_tls=0 when our CI image # TODO XXX: Try to revert the addition of use_tls=0 when our CI image
# upgrades from Debian Bookworm to something more recent. # upgrades from Debian Trixie to something more recent.
if get_option('b_sanitize') in ['address', 'address,undefined' ] if get_option('b_sanitize') in ['address', 'address,undefined' ]
test_env += { 'LSAN_OPTIONS': 'use_tls=0:suppressions=@0@'.format(dir_gitlab_ci / 'leak-sanitizer.supp') } test_env += { 'LSAN_OPTIONS': 'use_tls=0:suppressions=@0@'.format(dir_gitlab_ci / 'leak-sanitizer.supp') }
endif endif