[libcamera-ci,RFC,v2,4/5] Guard hardware testing jobs
diff mbox series

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

Commit Message

Barnabás Pőcze Jan. 30, 2026, 4:02 p.m. UTC
Use manually triggered jobs, do not run them automatically.

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

--
2.52.0

Comments

Jacopo Mondi Feb. 4, 2026, 9:37 a.m. UTC | #1
Hi Barnabás

On Fri, Jan 30, 2026 at 05:02:53PM +0100, Barnabás Pőcze wrote:
> Use manually triggered jobs, do not run them automatically.
>
> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>

Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>

> ---
>  gitlab-ci.yml | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
> index 37ffc58..5179207 100644
> --- a/gitlab-ci.yml
> +++ b/gitlab-ci.yml
> @@ -57,6 +57,11 @@ include:
>      ref: *templates_sha
>      file: '/templates/debian.yml'
>
> +.on-device-testing-guard:
> +  rules:
> +    - if: $ON_DEVICE_TESTING
> +    - when: manual
> +
>  .libcamera-ci.debian:11:
>    variables:
>      FDO_DISTRIBUTION_VERSION: 'bullseye'
> @@ -329,6 +334,7 @@ build-deb-for-lc-compliance-testing:
>      - .fdo.distribution-image@debian
>      - .libcamera-ci.debian:13
>      - .libcamera-ci.scripts
> +    - .on-device-testing-guard
>    stage: build
>    needs:
>      - job: container-debian:13
> @@ -375,6 +381,7 @@ lava-jobs-as-artifacts:
>      - .fdo.distribution-image@debian
>      - .libcamera-ci.debian:13
>      - .libcamera-ci.scripts
> +    - .on-device-testing-guard
>    stage: build
>    needs:
>      - job: container-debian:13
> @@ -492,6 +499,8 @@ test-lc-compliance:virtual:
>        junit: build/lc-compliance-report.xml
>
>  test-lc-compliance:rkisp1:debix-a:
> +  extends:
> +    - .on-device-testing-guard
>    stage: test
>    needs:
>      - job: lava-jobs-as-artifacts
> --
> 2.52.0
Laurent Pinchart Feb. 5, 2026, 1:17 p.m. UTC | #2
On Fri, Jan 30, 2026 at 05:02:53PM +0100, Barnabás Pőcze wrote:
> Use manually triggered jobs, do not run them automatically.
> 
> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
> ---
>  gitlab-ci.yml | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
> index 37ffc58..5179207 100644
> --- a/gitlab-ci.yml
> +++ b/gitlab-ci.yml
> @@ -57,6 +57,11 @@ include:
>      ref: *templates_sha
>      file: '/templates/debian.yml'
> 
> +.on-device-testing-guard:
> +  rules:
> +    - if: $ON_DEVICE_TESTING
> +    - when: manual
> +
>  .libcamera-ci.debian:11:
>    variables:
>      FDO_DISTRIBUTION_VERSION: 'bullseye'
> @@ -329,6 +334,7 @@ build-deb-for-lc-compliance-testing:
>      - .fdo.distribution-image@debian
>      - .libcamera-ci.debian:13
>      - .libcamera-ci.scripts
> +    - .on-device-testing-guard
>    stage: build
>    needs:
>      - job: container-debian:13
> @@ -375,6 +381,7 @@ lava-jobs-as-artifacts:
>      - .fdo.distribution-image@debian
>      - .libcamera-ci.debian:13
>      - .libcamera-ci.scripts
> +    - .on-device-testing-guard

I don't know if gitlab allows that, but is it possible to mark those two
jobs as not run by default, and run them only as dependencies of
test-lc-compliance:rkisp1:debix-a ? That would avoid spreading usage of
the .on-device-testing-guard dependency that would only mark jobs that
run tests on devices.

>    stage: build
>    needs:
>      - job: container-debian:13
> @@ -492,6 +499,8 @@ test-lc-compliance:virtual:
>        junit: build/lc-compliance-report.xml
> 
>  test-lc-compliance:rkisp1:debix-a:
> +  extends:
> +    - .on-device-testing-guard
>    stage: test
>    needs:
>      - job: lava-jobs-as-artifacts
Barnabás Pőcze Feb. 9, 2026, 10:21 a.m. UTC | #3
2026. 02. 05. 14:17 keltezéssel, Laurent Pinchart írta:
> On Fri, Jan 30, 2026 at 05:02:53PM +0100, Barnabás Pőcze wrote:
>> Use manually triggered jobs, do not run them automatically.
>>
>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
>> ---
>>   gitlab-ci.yml | 9 +++++++++
>>   1 file changed, 9 insertions(+)
>>
>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
>> index 37ffc58..5179207 100644
>> --- a/gitlab-ci.yml
>> +++ b/gitlab-ci.yml
>> @@ -57,6 +57,11 @@ include:
>>       ref: *templates_sha
>>       file: '/templates/debian.yml'
>>
>> +.on-device-testing-guard:
>> +  rules:
>> +    - if: $ON_DEVICE_TESTING
>> +    - when: manual
>> +
>>   .libcamera-ci.debian:11:
>>     variables:
>>       FDO_DISTRIBUTION_VERSION: 'bullseye'
>> @@ -329,6 +334,7 @@ build-deb-for-lc-compliance-testing:
>>       - .fdo.distribution-image@debian
>>       - .libcamera-ci.debian:13
>>       - .libcamera-ci.scripts
>> +    - .on-device-testing-guard
>>     stage: build
>>     needs:
>>       - job: container-debian:13
>> @@ -375,6 +381,7 @@ lava-jobs-as-artifacts:
>>       - .fdo.distribution-image@debian
>>       - .libcamera-ci.debian:13
>>       - .libcamera-ci.scripts
>> +    - .on-device-testing-guard
> 
> I don't know if gitlab allows that, but is it possible to mark those two
> jobs as not run by default, and run them only as dependencies of
> test-lc-compliance:rkisp1:debix-a ? That would avoid spreading usage of
> the .on-device-testing-guard dependency that would only mark jobs that
> run tests on devices.

The situation is already not ideal because at the moment if these jobs don't
run, then the pipeline goes into the "Blocked" state. To prevent that, `allow_failure: true`
would be needed in addition to `when: manual`, but that does not seem like the
correct thing to do.

In any case I was looking at that, but I can't recall finding anything that
would make it possible for a pipeline to "trigger" its own dependencies.


> 
>>     stage: build
>>     needs:
>>       - job: container-debian:13
>> @@ -492,6 +499,8 @@ test-lc-compliance:virtual:
>>         junit: build/lc-compliance-report.xml
>>
>>   test-lc-compliance:rkisp1:debix-a:
>> +  extends:
>> +    - .on-device-testing-guard
>>     stage: test
>>     needs:
>>       - job: lava-jobs-as-artifacts
>
Laurent Pinchart Feb. 9, 2026, 10:01 p.m. UTC | #4
On Mon, Feb 09, 2026 at 11:21:04AM +0100, Barnabás Pőcze wrote:
> 2026. 02. 05. 14:17 keltezéssel, Laurent Pinchart írta:
> > On Fri, Jan 30, 2026 at 05:02:53PM +0100, Barnabás Pőcze wrote:
> >> Use manually triggered jobs, do not run them automatically.
> >>
> >> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
> >> ---
> >>   gitlab-ci.yml | 9 +++++++++
> >>   1 file changed, 9 insertions(+)
> >>
> >> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
> >> index 37ffc58..5179207 100644
> >> --- a/gitlab-ci.yml
> >> +++ b/gitlab-ci.yml
> >> @@ -57,6 +57,11 @@ include:
> >>       ref: *templates_sha
> >>       file: '/templates/debian.yml'
> >>
> >> +.on-device-testing-guard:
> >> +  rules:
> >> +    - if: $ON_DEVICE_TESTING
> >> +    - when: manual
> >> +
> >>   .libcamera-ci.debian:11:
> >>     variables:
> >>       FDO_DISTRIBUTION_VERSION: 'bullseye'
> >> @@ -329,6 +334,7 @@ build-deb-for-lc-compliance-testing:
> >>       - .fdo.distribution-image@debian
> >>       - .libcamera-ci.debian:13
> >>       - .libcamera-ci.scripts
> >> +    - .on-device-testing-guard
> >>     stage: build
> >>     needs:
> >>       - job: container-debian:13
> >> @@ -375,6 +381,7 @@ lava-jobs-as-artifacts:
> >>       - .fdo.distribution-image@debian
> >>       - .libcamera-ci.debian:13
> >>       - .libcamera-ci.scripts
> >> +    - .on-device-testing-guard
> > 
> > I don't know if gitlab allows that, but is it possible to mark those two
> > jobs as not run by default, and run them only as dependencies of
> > test-lc-compliance:rkisp1:debix-a ? That would avoid spreading usage of
> > the .on-device-testing-guard dependency that would only mark jobs that
> > run tests on devices.
> 
> The situation is already not ideal because at the moment if these jobs don't
> run, then the pipeline goes into the "Blocked" state. To prevent that, `allow_failure: true`
> would be needed in addition to `when: manual`, but that does not seem like the
> correct thing to do.
> 
> In any case I was looking at that, but I can't recall finding anything that
> would make it possible for a pipeline to "trigger" its own dependencies.

Thanks for the explanation.

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

> >>     stage: build
> >>     needs:
> >>       - job: container-debian:13
> >> @@ -492,6 +499,8 @@ test-lc-compliance:virtual:
> >>         junit: build/lc-compliance-report.xml
> >>
> >>   test-lc-compliance:rkisp1:debix-a:
> >> +  extends:
> >> +    - .on-device-testing-guard
> >>     stage: test
> >>     needs:
> >>       - job: lava-jobs-as-artifacts

Patch
diff mbox series

diff --git a/gitlab-ci.yml b/gitlab-ci.yml
index 37ffc58..5179207 100644
--- a/gitlab-ci.yml
+++ b/gitlab-ci.yml
@@ -57,6 +57,11 @@  include:
     ref: *templates_sha
     file: '/templates/debian.yml'

+.on-device-testing-guard:
+  rules:
+    - if: $ON_DEVICE_TESTING
+    - when: manual
+
 .libcamera-ci.debian:11:
   variables:
     FDO_DISTRIBUTION_VERSION: 'bullseye'
@@ -329,6 +334,7 @@  build-deb-for-lc-compliance-testing:
     - .fdo.distribution-image@debian
     - .libcamera-ci.debian:13
     - .libcamera-ci.scripts
+    - .on-device-testing-guard
   stage: build
   needs:
     - job: container-debian:13
@@ -375,6 +381,7 @@  lava-jobs-as-artifacts:
     - .fdo.distribution-image@debian
     - .libcamera-ci.debian:13
     - .libcamera-ci.scripts
+    - .on-device-testing-guard
   stage: build
   needs:
     - job: container-debian:13
@@ -492,6 +499,8 @@  test-lc-compliance:virtual:
       junit: build/lc-compliance-report.xml

 test-lc-compliance:rkisp1:debix-a:
+  extends:
+    - .on-device-testing-guard
   stage: test
   needs:
     - job: lava-jobs-as-artifacts