[libcamera-ci,RFC,v1,2/5] Add job to build deb package for libcamera
diff mbox series

Message ID 20260119102039.3521673-3-barnabas.pocze@ideasonboard.com
State New
Headers show
Series
  • on-device-testing proof of concept
Related show

Commit Message

Barnabás Pőcze Jan. 19, 2026, 10:20 a.m. UTC
Add a job that builds a very specific deb package for testing
purposes for the given architectures.

Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
---
 gitlab-ci.yml | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

--
2.52.0

Patch
diff mbox series

diff --git a/gitlab-ci.yml b/gitlab-ci.yml
index afac21f..b7362d7 100644
--- a/gitlab-ci.yml
+++ b/gitlab-ci.yml
@@ -385,6 +385,53 @@  build-package:cros:
       - build/build.ninja
       - libcamera-upstream-9999.tbz2

+#
+# Build and package libcamera for the purpose of running tests on a real device.
+#
+
+build-debian-cross:
+  extends:
+    - .fdo.distribution-image@debian
+    - .debian-cross-build
+    - .debian-cross-build-architectures
+  stage: build
+  needs:
+    - job: container-build-debian-cross
+      artifacts: false
+      parallel:
+        matrix:
+          - ARCH: "$[[ matrix.ARCH ]]"
+  variables:
+    FDO_DISTRIBUTION_VERSION: "$CROSS_BUILD_DISTRIBUTION_VERSION"
+    FDO_DISTRIBUTION_TAG: "build-debian-cross-$CROSS_BUILD_TAG-$ARCH"
+  script:
+    - echo "0.0.0-ci-build-$CI_COMMIT_SHA-job-$CI_JOB_ID-pipeline-$CI_PIPELINE_ID-project-$CI_PROJECT_PATH" > .tarball-version
+    - meson setup build
+        --cross-file "/opt/meson-$ARCH.cross"
+        -D prefix=/usr
+        -D debug=true
+        -D optimization=2
+        -D force_fallback_for="['gtest']"
+        -D auto_features=disabled
+        -D udev=enabled
+        -D cam=enabled
+        -D lc-compliance=enabled
+    - meson compile -C build
+    - meson install -C build --no-rebuild --destdir install
+    - fpm -s dir -t deb
+        -C build/install
+        --architecture "$ARCH"
+        --package libcamera.deb
+        --name libcamera
+        --description "$CI_COMMIT_SHA (job $CI_JOB_ID, pipeline $CI_PIPELINE_ID, project $CI_PROJECT_PATH)"
+        --version "0.0.0"
+  artifacts:
+    expire_in: 1w
+    paths:
+      - build/meson-logs/
+      - build/build.ninja
+      - "*.deb"
+
 # ------------------------------------------------------------------------------
 # Lint stage - Run checkstyle.py and check merge suitability
 # ------------------------------------------------------------------------------