[{"id":37836,"web_url":"https://patchwork.libcamera.org/comment/37836/","msgid":"<20260122022824.GD209830@killaraus>","date":"2026-01-22T02:28:24","subject":"Re: [libcamera-ci] [RFC PATCH v1 5/5] Guard jobs required for\n\thardware testing","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Mon, Jan 19, 2026 at 11:20:39AM +0100, Barnabás Pőcze wrote:\n> Use manually triggered jobs.\n> \n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> ---\n>  gitlab-ci.yml | 9 +++++++++\n>  1 file changed, 9 insertions(+)\n> \n> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> index 8f670f7..40a42f0 100644\n> --- a/gitlab-ci.yml\n> +++ b/gitlab-ci.yml\n> @@ -58,6 +58,10 @@ include:\n>      ref: *templates_sha\n>      file: '/templates/debian.yml'\n> \n> +.on-device-testing-guard:\n> +  rules:\n> +    - when: manual\n\nCould we trigger this based on a variable passed as a push option\ninstead ? That would avoid having to interact with the web UI.\n\n> +\n>  .libcamera-ci.debian:11:\n>    variables:\n>      FDO_DISTRIBUTION_VERSION: 'bullseye'\n> @@ -421,6 +425,7 @@ build-debian-cross:\n>      - .fdo.distribution-image@debian\n>      - .debian-cross-build\n>      - .debian-cross-build-architectures\n> +    - .on-device-testing-guard\n>    stage: build\n>    needs:\n>      - job: container-build-debian-cross\n> @@ -469,6 +474,7 @@ build-debian-rootfs:\n>      - .debian-cross-build\n>      - .debian-cross-build-architectures\n>      - .libcamera-ci.scripts\n> +    - .on-device-testing-guard\n>    stage: build\n>    needs:\n>      - job: container-build-debian-rootfs\n> @@ -488,6 +494,7 @@ lava-jobs-as-artifacts:\n>      - .fdo.distribution-image@debian\n>      - .container-build-debian-rootfs\n>      - .libcamera-ci.scripts\n> +    - .on-device-testing-guard\n>    stage: build\n>    needs:\n>      - job: container-build-debian-rootfs\n> @@ -605,6 +612,8 @@ test-lc-compliance:virtual:\n>        junit: build/lc-compliance-report.xml\n> \n>  test-lc-compliance:rkisp1:debix-a:\n> +  extends:\n> +    - .on-device-testing-guard\n>    stage: test\n>    needs:\n>      - job: lava-jobs-as-artifacts","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 77480C3220\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 22 Jan 2026 02:28:28 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A441361FC6;\n\tThu, 22 Jan 2026 03:28:27 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7C0B561FBB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 22 Jan 2026 03:28:26 +0100 (CET)","from pendragon.ideasonboard.com\n\t(2001-14ba-703d-e500--ff4.rev.dnainternet.fi\n\t[IPv6:2001:14ba:703d:e500::ff4])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id DE6E1324;\n\tThu, 22 Jan 2026 03:27:53 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"cAF3jQDo\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1769048874;\n\tbh=bWJZLwkF4XTJWbvUdJBaz7chCSTq1otloah1oHyRGq4=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=cAF3jQDoQUmA9ikXCX47uDC8gc34wcvSCq4pOx8oRRJLXErhzBiBzeRM0WbkAudUd\n\tS6bAobFatKZ5ALjvhZGRk10KnvbNQHzd/cMG8dj93rWrk58Ljmtm737iEdY/m20JP+\n\tkXfv+VmulTIn7AIYlnYvSrO9Zo+RyzM3ND2Xk+3M=","Date":"Thu, 22 Jan 2026 04:28:24 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [libcamera-ci] [RFC PATCH v1 5/5] Guard jobs required for\n\thardware testing","Message-ID":"<20260122022824.GD209830@killaraus>","References":"<20260119102039.3521673-1-barnabas.pocze@ideasonboard.com>\n\t<20260119102039.3521673-6-barnabas.pocze@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20260119102039.3521673-6-barnabas.pocze@ideasonboard.com>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":37838,"web_url":"https://patchwork.libcamera.org/comment/37838/","msgid":"<c52a916d-18f8-4310-9667-6fc9163e4d89@ideasonboard.com>","date":"2026-01-22T08:48:04","subject":"Re: [libcamera-ci] [RFC PATCH v1 5/5] Guard jobs required for\n\thardware testing","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"Hi\n\n\n2026. 01. 22. 3:28 keltezéssel, Laurent Pinchart írta:\n> On Mon, Jan 19, 2026 at 11:20:39AM +0100, Barnabás Pőcze wrote:\n>> Use manually triggered jobs.\n>>\n>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n>> ---\n>>   gitlab-ci.yml | 9 +++++++++\n>>   1 file changed, 9 insertions(+)\n>>\n>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n>> index 8f670f7..40a42f0 100644\n>> --- a/gitlab-ci.yml\n>> +++ b/gitlab-ci.yml\n>> @@ -58,6 +58,10 @@ include:\n>>       ref: *templates_sha\n>>       file: '/templates/debian.yml'\n>>\n>> +.on-device-testing-guard:\n>> +  rules:\n>> +    - when: manual\n> \n> Could we trigger this based on a variable passed as a push option\n> instead ? That would avoid having to interact with the web UI.\n\nMaybe I am misremembering, but I gathered from the latest discussions that this\nwas preferable? I seem to recall that it was useful to be able to start it later\nwithout having to push again. In any case I believe another rule can be added so\nthat the jobs start: if started manually OR if there is a certain variable defined.\nDoes that sound reasonable?\n\n\n> \n>> +\n>>   .libcamera-ci.debian:11:\n>>     variables:\n>>       FDO_DISTRIBUTION_VERSION: 'bullseye'\n>> @@ -421,6 +425,7 @@ build-debian-cross:\n>>       - .fdo.distribution-image@debian\n>>       - .debian-cross-build\n>>       - .debian-cross-build-architectures\n>> +    - .on-device-testing-guard\n>>     stage: build\n>>     needs:\n>>       - job: container-build-debian-cross\n>> @@ -469,6 +474,7 @@ build-debian-rootfs:\n>>       - .debian-cross-build\n>>       - .debian-cross-build-architectures\n>>       - .libcamera-ci.scripts\n>> +    - .on-device-testing-guard\n>>     stage: build\n>>     needs:\n>>       - job: container-build-debian-rootfs\n>> @@ -488,6 +494,7 @@ lava-jobs-as-artifacts:\n>>       - .fdo.distribution-image@debian\n>>       - .container-build-debian-rootfs\n>>       - .libcamera-ci.scripts\n>> +    - .on-device-testing-guard\n>>     stage: build\n>>     needs:\n>>       - job: container-build-debian-rootfs\n>> @@ -605,6 +612,8 @@ test-lc-compliance:virtual:\n>>         junit: build/lc-compliance-report.xml\n>>\n>>   test-lc-compliance:rkisp1:debix-a:\n>> +  extends:\n>> +    - .on-device-testing-guard\n>>     stage: test\n>>     needs:\n>>       - job: lava-jobs-as-artifacts\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 94523C3220\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 22 Jan 2026 08:48:10 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5E36C61FC9;\n\tThu, 22 Jan 2026 09:48:09 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id F346061FA0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 22 Jan 2026 09:48:07 +0100 (CET)","from [192.168.33.25] (185.221.143.114.nat.pool.zt.hu\n\t[185.221.143.114])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 4BDBA324;\n\tThu, 22 Jan 2026 09:47:35 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"t/OD/16k\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1769071655;\n\tbh=m9SY72htJTnU6cLwOfdTQwjsk//KFRmWeKzNB/Lzq6U=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=t/OD/16kQezZP6A5mRsEYPvFxs17xu948B4qX2IwUwLmZYcZUiAORKzkTZcaa5coq\n\tvDZc53L/8m1ZjWG6yvxatOMbCQ4IXTURZwdG3PvhJwXO8R/uFeuULNr8pJklAr9QOy\n\tiHJtadf36pCosngcZhu8o7zhM4O69d5LTg95nlrU=","Message-ID":"<c52a916d-18f8-4310-9667-6fc9163e4d89@ideasonboard.com>","Date":"Thu, 22 Jan 2026 09:48:04 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [libcamera-ci] [RFC PATCH v1 5/5] Guard jobs required for\n\thardware testing","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20260119102039.3521673-1-barnabas.pocze@ideasonboard.com>\n\t<20260119102039.3521673-6-barnabas.pocze@ideasonboard.com>\n\t<20260122022824.GD209830@killaraus>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<20260122022824.GD209830@killaraus>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":37895,"web_url":"https://patchwork.libcamera.org/comment/37895/","msgid":"<20260122233534.GE215800@killaraus>","date":"2026-01-22T23:35:34","subject":"Re: [libcamera-ci] [RFC PATCH v1 5/5] Guard jobs required for\n\thardware testing","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Thu, Jan 22, 2026 at 09:48:04AM +0100, Barnabás Pőcze wrote:\n> 2026. 01. 22. 3:28 keltezéssel, Laurent Pinchart írta:\n> > On Mon, Jan 19, 2026 at 11:20:39AM +0100, Barnabás Pőcze wrote:\n> >> Use manually triggered jobs.\n> >>\n> >> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> >> ---\n> >>   gitlab-ci.yml | 9 +++++++++\n> >>   1 file changed, 9 insertions(+)\n> >>\n> >> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> >> index 8f670f7..40a42f0 100644\n> >> --- a/gitlab-ci.yml\n> >> +++ b/gitlab-ci.yml\n> >> @@ -58,6 +58,10 @@ include:\n> >>       ref: *templates_sha\n> >>       file: '/templates/debian.yml'\n> >>\n> >> +.on-device-testing-guard:\n> >> +  rules:\n> >> +    - when: manual\n> > \n> > Could we trigger this based on a variable passed as a push option\n> > instead ? That would avoid having to interact with the web UI.\n> \n> Maybe I am misremembering, but I gathered from the latest discussions that this\n> was preferable? I seem to recall that it was useful to be able to start it later\n> without having to push again.\n\nThat's a good point, it could be useful for initial testing indeed.\n\n> In any case I believe another rule can be added so\n> that the jobs start: if started manually OR if there is a certain variable defined.\n> Does that sound reasonable?\n\nI think so. I'm also fine starting with manual trigger only while we\nramp up the infrastructure.\n\n> >> +\n> >>   .libcamera-ci.debian:11:\n> >>     variables:\n> >>       FDO_DISTRIBUTION_VERSION: 'bullseye'\n> >> @@ -421,6 +425,7 @@ build-debian-cross:\n> >>       - .fdo.distribution-image@debian\n> >>       - .debian-cross-build\n> >>       - .debian-cross-build-architectures\n> >> +    - .on-device-testing-guard\n> >>     stage: build\n> >>     needs:\n> >>       - job: container-build-debian-cross\n> >> @@ -469,6 +474,7 @@ build-debian-rootfs:\n> >>       - .debian-cross-build\n> >>       - .debian-cross-build-architectures\n> >>       - .libcamera-ci.scripts\n> >> +    - .on-device-testing-guard\n> >>     stage: build\n> >>     needs:\n> >>       - job: container-build-debian-rootfs\n> >> @@ -488,6 +494,7 @@ lava-jobs-as-artifacts:\n> >>       - .fdo.distribution-image@debian\n> >>       - .container-build-debian-rootfs\n> >>       - .libcamera-ci.scripts\n> >> +    - .on-device-testing-guard\n> >>     stage: build\n> >>     needs:\n> >>       - job: container-build-debian-rootfs\n> >> @@ -605,6 +612,8 @@ test-lc-compliance:virtual:\n> >>         junit: build/lc-compliance-report.xml\n> >>\n> >>   test-lc-compliance:rkisp1:debix-a:\n> >> +  extends:\n> >> +    - .on-device-testing-guard\n> >>     stage: test\n> >>     needs:\n> >>       - job: lava-jobs-as-artifacts","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 6ED72BDCBF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 22 Jan 2026 23:35:38 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9E77B61FC9;\n\tFri, 23 Jan 2026 00:35:37 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2E90E61F9F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 23 Jan 2026 00:35:36 +0100 (CET)","from pendragon.ideasonboard.com\n\t(2001-14ba-703d-e500--2a1.rev.dnainternet.fi\n\t[IPv6:2001:14ba:703d:e500::2a1])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 0FC7A82E;\n\tFri, 23 Jan 2026 00:35:02 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"RnKVv2x8\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1769124903;\n\tbh=dp5447xjJQej5BtAH3Sv0kBnE0ygfgEj4DfJC+OkOg4=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=RnKVv2x8kQEP8EActaSaOYx3hV8aMzLZ2rtkBWBkifNuQq0+p6XaYcr6QMtZ5Uo5l\n\tcDbCbGDDPphM7/7L+6HPu5ubM2DInTuZeVNpOvIIQ5NDEqyyjTM9utpWTZDLwUcial\n\th0mL8MGWaPYMF4d1r9tZ1FVSkY2STLf1MxGtFofk=","Date":"Fri, 23 Jan 2026 01:35:34 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [libcamera-ci] [RFC PATCH v1 5/5] Guard jobs required for\n\thardware testing","Message-ID":"<20260122233534.GE215800@killaraus>","References":"<20260119102039.3521673-1-barnabas.pocze@ideasonboard.com>\n\t<20260119102039.3521673-6-barnabas.pocze@ideasonboard.com>\n\t<20260122022824.GD209830@killaraus>\n\t<c52a916d-18f8-4310-9667-6fc9163e4d89@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<c52a916d-18f8-4310-9667-6fc9163e4d89@ideasonboard.com>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]