diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh
index fc3c0568bf7c..93a9f9cc91e8 100755
--- a/.gitlab-ci/setup-container.sh
+++ b/.gitlab-ci/setup-container.sh
@@ -93,10 +93,16 @@ archs=( amd64 )
 
 declare -A components
 
-# On Debian bullseye, install gcc 9 in addition to the default gcc 10.
-if [[ $FDO_DISTRIBUTION_VERSION == 'bullseye' ]] ; then
+# Install additional gcc versions On Debian bullseye (gcc 9) and trixie (gcc
+# 14).
+case $FDO_DISTRIBUTION_VERSION in
+'bullseye')
 	PKGS_LIBCAMERA_RUNTIME+=( g++-9 )
-fi
+	;;
+'trixie')
+	PKGS_LIBCAMERA_RUNTIME+=( g++-14 )
+	;;
+esac
 
 # We use Debian bookworm containers to produce ARM binaries and run unit tests
 # with virtme, and other Debian versions for compilation-testing on amd64 only.
diff --git a/gitlab-ci.yml b/gitlab-ci.yml
index 465931a761fc..50b81e591458 100644
--- a/gitlab-ci.yml
+++ b/gitlab-ci.yml
@@ -69,7 +69,7 @@ include:
 .libcamera-ci.debian:13:
   variables:
     FDO_DISTRIBUTION_VERSION: 'trixie'
-    FDO_DISTRIBUTION_TAG: '2024-05-27.0'
+    FDO_DISTRIBUTION_TAG: '2024-05-27.1'
 
 .container-debian:
   extends:
@@ -219,13 +219,17 @@ build-full:debian:13:
   needs:
     - job: container-debian:13
       artifacts: false
-  variables:
-    ARCH: amd64
-    CC: gcc-13
-    CXX: g++-13
-    MESON_OPTIONS: >-
-      ${MESON_ALL_OPTIONS}
-      -D cpp_std=c++20
+  parallel:
+    matrix:
+      - ARCH: amd64
+        CC: gcc-13
+        CXX: g++-13
+        MESON_OPTIONS: >-
+          ${MESON_ALL_OPTIONS}
+          -D cpp_std=c++20
+      - ARCH: amd64
+        CC: gcc-14
+        CXX: g++-14
 
 # Build each commit in the branch individually to detect compilation breakages.
 build-history:
