[libcamera-ci,v3,1/2] Move kvm tests and cross compilation to debian 13
diff mbox series

Message ID 20260129124909.1258870-1-barnabas.pocze@ideasonboard.com
State New
Headers show
Series
  • [libcamera-ci,v3,1/2] Move kvm tests and cross compilation to debian 13
Related show

Commit Message

Barnabás Pőcze Jan. 29, 2026, 12:49 p.m. UTC
Debian 13 is the current stable edition, and virtme-ng 1.18 no longer
compiles on debian 12 due to rustc version incompatibilities. So move
the kvm tests (and kernel compilation), as well as cross compilation
tests to debian 13.

Unfortunately, there is a debian peculiarity that has to be worked
around. In contrast to debian 12, the `libclang-rt-dev` package does
not exist for armhf. So its versioned variant needs to be used.

Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
---
changes in v3: none

v2: https://patchwork.libcamera.org/patch/25956/
---
 .gitlab-ci/setup-container.sh | 12 ++++++------
 gitlab-ci.yml                 | 20 ++++++++++----------
 2 files changed, 16 insertions(+), 16 deletions(-)

--
2.52.0

Comments

Laurent Pinchart Jan. 29, 2026, 2:11 p.m. UTC | #1
On Thu, Jan 29, 2026 at 01:49:08PM +0100, Barnabás Pőcze wrote:
> Debian 13 is the current stable edition, and virtme-ng 1.18 no longer
> compiles on debian 12 due to rustc version incompatibilities. So move
> the kvm tests (and kernel compilation), as well as cross compilation
> tests to debian 13.
> 
> Unfortunately, there is a debian peculiarity that has to be worked
> around. In contrast to debian 12, the `libclang-rt-dev` package does
> not exist for armhf. So its versioned variant needs to be used.
> 
> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
> changes in v3: none
> 
> v2: https://patchwork.libcamera.org/patch/25956/
> ---
>  .gitlab-ci/setup-container.sh | 12 ++++++------
>  gitlab-ci.yml                 | 20 ++++++++++----------
>  2 files changed, 16 insertions(+), 16 deletions(-)
> 
> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh
> index 2ba94bb..3506271 100755
> --- a/.gitlab-ci/setup-container.sh
> +++ b/.gitlab-ci/setup-container.sh
> @@ -132,9 +132,6 @@ case $FDO_DISTRIBUTION_VERSION in
>  	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-dev )
>  	# For the Android camera HAL and the virtual pipeline handler.
>  	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libyuv-dev )
> -	# For cam and lc-compliance
> -	# libevent-dev cannot be used here, see build-libcamera-common.sh
> -	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libevent-2.1-7 libevent-pthreads-2.1-7 )
>  	;;
>  'trixie')
>  	# gcc 13 to expand compilation testing coverage.
> @@ -142,15 +139,18 @@ case $FDO_DISTRIBUTION_VERSION in
>  	# Sphinx theme for the documentation.
>  	PKGS_LIBCAMERA_RUNTIME+=( python3-sphinx-book-theme )
>  	# libclang-rt-dev for the clang ASan runtime.
> -	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-dev )
> +	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev )
>  	# For the Android camera HAL and the virtual pipeline handler.
>  	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libyuv-dev )
> +	# For lc-compliance in the `test-lc-compliance:virtual` job
> +	# libevent-dev cannot be used here, see build-libcamera-common.sh
> +	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libevent-2.1-7t64 libevent-pthreads-2.1-7t64 )
>  	;;
>  esac
> 
> -# We use Debian bookworm containers to produce ARM binaries and run unit tests
> +# We use Debian 13 (trixie) containers to produce ARM binaries and run unit tests
>  # with virtme, and other Debian versions for compilation-testing on amd64 only.
> -if [[ $FDO_DISTRIBUTION_VERSION == 'bookworm' ]] ; then
> +if [[ $FDO_DISTRIBUTION_VERSION == 'trixie' ]] ; then
>  	archs+=( arm64 armhf )
>  	components['kernel']=1
>  	components['virtme']=1
> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
> index b1d5f0e..bd5df66 100644
> --- a/gitlab-ci.yml
> +++ b/gitlab-ci.yml
> @@ -65,12 +65,12 @@ include:
>  .libcamera-ci.debian:12:
>    variables:
>      FDO_DISTRIBUTION_VERSION: 'bookworm'
> -    FDO_DISTRIBUTION_TAG: '2025-11-02.0'
> +    FDO_DISTRIBUTION_TAG: '2026-01-23.0'
> 
>  .libcamera-ci.debian:13:
>    variables:
>      FDO_DISTRIBUTION_VERSION: 'trixie'
> -    FDO_DISTRIBUTION_TAG: '2025-11-02.0'
> +    FDO_DISTRIBUTION_TAG: '2026-01-23.0'
> 
>  .container-debian:
>    extends:
> @@ -208,8 +208,6 @@ build-full:debian:12:
>            ${MESON_ALL_OPTIONS}
>            ${MESON_CLANG_OPTIONS}
>            -D qcam=disabled
> -      - ARCH: armhf
> -      - ARCH: arm64
> 
>  build-full:debian:13:
>    extends:
> @@ -241,6 +239,8 @@ build-full:debian:13:
>            -D cpp_debugstl=false
>          # `cpp_debugstl=false` needed approximately between meson 1.4.0 and 1.9.3
>          # with clang 18 or later due to https://github.com/mesonbuild/meson/issues/13812
> +      - ARCH: armhf
> +      - ARCH: arm64
> 
>  # Build each commit in the branch individually to detect compilation breakages.
>  build-history:
> @@ -267,11 +267,11 @@ build-history:
>  build-package:debug:
>    extends:
>      - .fdo.distribution-image@debian
> -    - .libcamera-ci.debian:12
> +    - .libcamera-ci.debian:13
>      - .libcamera-ci.scripts
>    stage: build
>    needs:
> -    - job: container-debian:12
> +    - job: container-debian:13
>        artifacts: false
>    script:
>      - $CI_PROJECT_DIR/.gitlab-ci/build-libcamera.sh
> @@ -366,11 +366,11 @@ merge-check:
>  test-unit:
>    extends:
>      - .fdo.distribution-image@debian
> -    - .libcamera-ci.debian:12
> +    - .libcamera-ci.debian:13
>      - .libcamera-ci.scripts
>    stage: test
>    needs:
> -    - job: container-debian:12
> +    - job: container-debian:13
>        artifacts: false
>    tags:
>      - kvm
> @@ -404,7 +404,7 @@ test-unit:
>  test-lc-compliance:virtual:
>    extends:
>      - .fdo.distribution-image@debian
> -    - .libcamera-ci.debian:12
> +    - .libcamera-ci.debian:13
>      - .libcamera-ci.scripts
>    stage: test
>    needs:
> @@ -412,7 +412,7 @@ test-lc-compliance:virtual:
>        parallel:
>          matrix:
>            - ARCH: amd64
> -    - job: container-debian:12
> +    - job: container-debian:13
>        artifacts: false
>    tags:
>      - kvm

Patch
diff mbox series

diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh
index 2ba94bb..3506271 100755
--- a/.gitlab-ci/setup-container.sh
+++ b/.gitlab-ci/setup-container.sh
@@ -132,9 +132,6 @@  case $FDO_DISTRIBUTION_VERSION in
 	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-dev )
 	# For the Android camera HAL and the virtual pipeline handler.
 	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libyuv-dev )
-	# For cam and lc-compliance
-	# libevent-dev cannot be used here, see build-libcamera-common.sh
-	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libevent-2.1-7 libevent-pthreads-2.1-7 )
 	;;
 'trixie')
 	# gcc 13 to expand compilation testing coverage.
@@ -142,15 +139,18 @@  case $FDO_DISTRIBUTION_VERSION in
 	# Sphinx theme for the documentation.
 	PKGS_LIBCAMERA_RUNTIME+=( python3-sphinx-book-theme )
 	# libclang-rt-dev for the clang ASan runtime.
-	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-dev )
+	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev )
 	# For the Android camera HAL and the virtual pipeline handler.
 	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libyuv-dev )
+	# For lc-compliance in the `test-lc-compliance:virtual` job
+	# libevent-dev cannot be used here, see build-libcamera-common.sh
+	PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libevent-2.1-7t64 libevent-pthreads-2.1-7t64 )
 	;;
 esac

-# We use Debian bookworm containers to produce ARM binaries and run unit tests
+# We use Debian 13 (trixie) containers to produce ARM binaries and run unit tests
 # with virtme, and other Debian versions for compilation-testing on amd64 only.
-if [[ $FDO_DISTRIBUTION_VERSION == 'bookworm' ]] ; then
+if [[ $FDO_DISTRIBUTION_VERSION == 'trixie' ]] ; then
 	archs+=( arm64 armhf )
 	components['kernel']=1
 	components['virtme']=1
diff --git a/gitlab-ci.yml b/gitlab-ci.yml
index b1d5f0e..bd5df66 100644
--- a/gitlab-ci.yml
+++ b/gitlab-ci.yml
@@ -65,12 +65,12 @@  include:
 .libcamera-ci.debian:12:
   variables:
     FDO_DISTRIBUTION_VERSION: 'bookworm'
-    FDO_DISTRIBUTION_TAG: '2025-11-02.0'
+    FDO_DISTRIBUTION_TAG: '2026-01-23.0'

 .libcamera-ci.debian:13:
   variables:
     FDO_DISTRIBUTION_VERSION: 'trixie'
-    FDO_DISTRIBUTION_TAG: '2025-11-02.0'
+    FDO_DISTRIBUTION_TAG: '2026-01-23.0'

 .container-debian:
   extends:
@@ -208,8 +208,6 @@  build-full:debian:12:
           ${MESON_ALL_OPTIONS}
           ${MESON_CLANG_OPTIONS}
           -D qcam=disabled
-      - ARCH: armhf
-      - ARCH: arm64

 build-full:debian:13:
   extends:
@@ -241,6 +239,8 @@  build-full:debian:13:
           -D cpp_debugstl=false
         # `cpp_debugstl=false` needed approximately between meson 1.4.0 and 1.9.3
         # with clang 18 or later due to https://github.com/mesonbuild/meson/issues/13812
+      - ARCH: armhf
+      - ARCH: arm64

 # Build each commit in the branch individually to detect compilation breakages.
 build-history:
@@ -267,11 +267,11 @@  build-history:
 build-package:debug:
   extends:
     - .fdo.distribution-image@debian
-    - .libcamera-ci.debian:12
+    - .libcamera-ci.debian:13
     - .libcamera-ci.scripts
   stage: build
   needs:
-    - job: container-debian:12
+    - job: container-debian:13
       artifacts: false
   script:
     - $CI_PROJECT_DIR/.gitlab-ci/build-libcamera.sh
@@ -366,11 +366,11 @@  merge-check:
 test-unit:
   extends:
     - .fdo.distribution-image@debian
-    - .libcamera-ci.debian:12
+    - .libcamera-ci.debian:13
     - .libcamera-ci.scripts
   stage: test
   needs:
-    - job: container-debian:12
+    - job: container-debian:13
       artifacts: false
   tags:
     - kvm
@@ -404,7 +404,7 @@  test-unit:
 test-lc-compliance:virtual:
   extends:
     - .fdo.distribution-image@debian
-    - .libcamera-ci.debian:12
+    - .libcamera-ci.debian:13
     - .libcamera-ci.scripts
   stage: test
   needs:
@@ -412,7 +412,7 @@  test-lc-compliance:virtual:
       parallel:
         matrix:
           - ARCH: amd64
-    - job: container-debian:12
+    - job: container-debian:13
       artifacts: false
   tags:
     - kvm