From patchwork Fri Jan 30 16:02:52 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= X-Patchwork-Id: 26060 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 58577C3226 for ; Fri, 30 Jan 2026 16:03:05 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 0575E61FD2; Fri, 30 Jan 2026 17:03:05 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="eQCTNOfQ"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 931B261FCC for ; Fri, 30 Jan 2026 17:02:57 +0100 (CET) Received: from pb-laptop.local (185.221.142.123.nat.pool.zt.hu [185.221.142.123]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 2A81855C for ; Fri, 30 Jan 2026 17:02:19 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1769788939; bh=KnC/Blk0g+5v0j+xZcUdrZ1R3GooZsaoqmUnTvyToVw=; h=From:To:Subject:Date:In-Reply-To:References:From; b=eQCTNOfQpUGIjttS0TI04NbsvY9C0fUZPUs9J/3Zb6tC+ENocFIPu1AvUTsNDBQ/Y UlhsOCwI5bpWIp/nB+uWDlmwcpfam7Uy1CdbpRuUmJbAoZhD2iM060AF8G6auftMJy lOyxjU5LdHqMXrr5VAgy/LLeUfTtVE0oLxhJamZQ= From: =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= To: libcamera-devel@lists.libcamera.org Subject: [libcamera-ci] [RFC PATCH v2 3/5] Add job to run lc-compliance via lava Date: Fri, 30 Jan 2026 17:02:52 +0100 Message-ID: <20260130160254.1770742-4-barnabas.pocze@ideasonboard.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260130160254.1770742-1-barnabas.pocze@ideasonboard.com> References: <20260130160254.1770742-1-barnabas.pocze@ideasonboard.com> MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Add a job that runs lc-compliance via lava on real hardware. Signed-off-by: Barnabás Pőcze --- .gitlab-ci/on-device-testing/lava-debix-a.yml | 40 +++++++++++++++++++ gitlab-ci.yml | 36 +++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 .gitlab-ci/on-device-testing/lava-debix-a.yml -- 2.52.0 diff --git a/.gitlab-ci/on-device-testing/lava-debix-a.yml b/.gitlab-ci/on-device-testing/lava-debix-a.yml new file mode 100644 index 0000000..4a9b9b6 --- /dev/null +++ b/.gitlab-ci/on-device-testing/lava-debix-a.yml @@ -0,0 +1,40 @@ +device_type: debix-a +job_name: debix-a lc-compliance test + +timeouts: + job: + minutes: 30 + action: + minutes: 5 + connection: + minutes: 6 +priority: medium +visibility: public + +actions: +- boot: + method: minimal + timeout: + minutes: 6 + auto_login: + login_prompt: 'boot2container login:' + username: "root" + password_prompt: "Password:" + password: "root" + prompts: [":~#"] +- test: + interactive: + - name: lc-compliance + prompts: [":~#"] + echo: discard + script: + - command: >- + /opt/test-libcamera.sh + "{{ job.LIBCAMERA_DEB_URL }}" + /base/soc@0/bus@30800000/i2c@30a30000/camera@10 + && echo "lc-compliance test passed" + || echo "lc-compliance test failed" + successes: + - message: "lc-compliance test passed" + failures: + - message: "lc-compliance test failed" diff --git a/gitlab-ci.yml b/gitlab-ci.yml index 66f4b5b..37ffc58 100644 --- a/gitlab-ci.yml +++ b/gitlab-ci.yml @@ -355,6 +355,7 @@ build-deb-for-lc-compliance-testing: --name libcamera --description "$CI_COMMIT_SHA (job $CI_JOB_ID, pipeline $CI_PIPELINE_ID, project $CI_PROJECT_PATH)" --version "0.0.0" + - echo "LIBCAMERA_DEB_URL=$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/$CI_JOB_ID/artifacts/libcamera.deb" >> env artifacts: when: always expire_in: 1 week @@ -362,11 +363,30 @@ build-deb-for-lc-compliance-testing: - build/meson-logs/ - build/build.ninja - "*.deb" + reports: + dotenv: env parallel: matrix: - ARCH: - arm64 +lava-jobs-as-artifacts: + extends: + - .fdo.distribution-image@debian + - .libcamera-ci.debian:13 + - .libcamera-ci.scripts + stage: build + needs: + - job: container-debian:13 + artifacts: false + variables: + GIT_STRATEGY: none + script: + - echo "saving lava job definitions as artifacts for lava-gitlab-runner" + artifacts: + expire_in: 1w + paths: + - $CI_PROJECT_DIR/.gitlab-ci/on-device-testing/lava-* # ------------------------------------------------------------------------------ # Lint stage - Run checkstyle.py and check merge suitability @@ -470,3 +490,19 @@ test-lc-compliance:virtual: artifacts: reports: junit: build/lc-compliance-report.xml + +test-lc-compliance:rkisp1:debix-a: + stage: test + needs: + - job: lava-jobs-as-artifacts + artifacts: true + - job: build-deb-for-lc-compliance-testing + artifacts: true + parallel: + matrix: + - ARCH: + - arm64 + tags: + - libcamera-lava + script: + - submit .gitlab-ci/on-device-testing/lava-debix-a.yml