[XEN PATCH v1] automation: edit rules for analyze jobs

Victor Lira posted 1 patch 2 days, 21 hours ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20260520225820.31550-1-victorm.lira@amd.com
automation/gitlab-ci/analyze.yaml | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
[XEN PATCH v1] automation: edit rules for analyze jobs
Posted by Victor Lira 2 days, 21 hours ago
rewrite analyze jobs rules to simplify the conditions under which the
jobs appear and run

after these changes:
 - to appear, all jobs must be selected (SELECTED_JOBS_ONLY), have token
   (WTOKEN), and be in an allowed path (CI_PROJECT_PATH), this is specified in
   .eclair-analysis
 - the subcategories have their own exceptions, keeping current behavior:
   - ECLAIR_SAFETY/ECLAIR_TESTING can force enable some
   - eclair-testing jobs will not appear outside xen-project/people

This assumes we don't use pipeline sources other than push/api/schedule.

Signed-off-by: Victor Lira <victorm.lira@amd.com>
---
this preseves the current behavior of the -testing jobs running anywhere on
xen-project/people but maybe we want to limit it to whoever is doing the
testing, or in some other way

tested on my own repo xen-project/people/victormlira/xen

push https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541858231
push /eclair-x86_64-amd$|alpine-3.18-gcc$/ https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541859057
push /alpine-3.18-gcc$/ https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541859605
schedule https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541871689
schedule /eclair-x86_64-amd$|alpine-3.18-gcc$/ https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541875599
schudule /alpine-3.18-gcc$/ https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541876512
---
 automation/gitlab-ci/analyze.yaml | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index b3f99f472d..687af4d452 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -19,25 +19,25 @@
       - '*.log'
       - '*.json'
     reports:
       codequality: gl-code-quality-report.json
   rules:
-    - if: $WTOKEN == null
-      when: never
-    - when: always
+    - if: $CI_JOB_NAME =~ $SELECTED_JOBS_ONLY && $WTOKEN
+          && $CI_PROJECT_PATH =~ /^xen-project\/hardware\/.*$/
+      when: on_success
+    - if: $CI_JOB_NAME =~ $SELECTED_JOBS_ONLY && $WTOKEN
+          && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
+      when: manual
+      allow_failure: true
+
   needs: []

 .eclair-analysis:triggered:
   extends: .eclair-analysis
   rules:
-    - if: $CI_PIPELINE_SOURCE == "schedule"
+    - if: $CI_PIPELINE_SOURCE != "push" && $CI_PIPELINE_SOURCE != "api"
       when: never
-    - if: $CI_JOB_NAME !~ $SELECTED_JOBS_ONLY
-      when: never
-    - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
-      when: manual
-      allow_failure: true
     - !reference [.eclair-analysis, rules]

 eclair-x86_64-allcode:
   extends: .eclair-analysis:triggered
   variables:
@@ -218,12 +218,10 @@ eclair-ARM64-amd:
 .eclair-analysis:on-schedule:
   extends: .eclair-analysis
   rules:
     - if: $CI_PIPELINE_SOURCE != "schedule"
       when: never
-    - if: $CI_JOB_NAME !~ $SELECTED_JOBS_ONLY
-      when: never
     - !reference [.eclair-analysis, rules]

 eclair-x86_64-allrules:on-schedule:
   extends: .eclair-analysis:on-schedule
   variables:
--
2.54.0
Re: [XEN PATCH v1] automation: edit rules for analyze jobs
Posted by Andrew Cooper 1 day, 9 hours ago
On 20/05/2026 11:58 pm, Victor Lira wrote:
> rewrite analyze jobs rules to simplify the conditions under which the
> jobs appear and run
>
> after these changes:
>  - to appear, all jobs must be selected (SELECTED_JOBS_ONLY), have token
>    (WTOKEN), and be in an allowed path (CI_PROJECT_PATH), this is specified in
>    .eclair-analysis
>  - the subcategories have their own exceptions, keeping current behavior:
>    - ECLAIR_SAFETY/ECLAIR_TESTING can force enable some
>    - eclair-testing jobs will not appear outside xen-project/people
>
> This assumes we don't use pipeline sources other than push/api/schedule.
>
> Signed-off-by: Victor Lira <victorm.lira@amd.com>
> ---
> this preseves the current behavior of the -testing jobs running anywhere on
> xen-project/people but maybe we want to limit it to whoever is doing the
> testing, or in some other way
>
> tested on my own repo xen-project/people/victormlira/xen
>
> push https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541858231
> push /eclair-x86_64-amd$|alpine-3.18-gcc$/ https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541859057
> push /alpine-3.18-gcc$/ https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541859605
> schedule https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541871689
> schedule /eclair-x86_64-amd$|alpine-3.18-gcc$/ https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541875599
> schudule /alpine-3.18-gcc$/ https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541876512

I'm afraid this still doesn't work.

I pushed with ci.variable=SELECTED_JOBS_ONLY="/eclair-x86_64-allcode/"
and still got the eclair-*-amd jobs started.

https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2545988798

~Andrew
Re: [XEN PATCH v1] automation: edit rules for analyze jobs
Posted by Nicola Vetrini 1 day, 9 hours ago
On 2026-05-22 12:20, Andrew Cooper wrote:
> On 20/05/2026 11:58 pm, Victor Lira wrote:
>> rewrite analyze jobs rules to simplify the conditions under which the
>> jobs appear and run
>> 
>> after these changes:
>>  - to appear, all jobs must be selected (SELECTED_JOBS_ONLY), have 
>> token
>>    (WTOKEN), and be in an allowed path (CI_PROJECT_PATH), this is 
>> specified in
>>    .eclair-analysis
>>  - the subcategories have their own exceptions, keeping current 
>> behavior:
>>    - ECLAIR_SAFETY/ECLAIR_TESTING can force enable some
>>    - eclair-testing jobs will not appear outside xen-project/people
>> 
>> This assumes we don't use pipeline sources other than 
>> push/api/schedule.
>> 
>> Signed-off-by: Victor Lira <victorm.lira@amd.com>
>> ---
>> this preseves the current behavior of the -testing jobs running 
>> anywhere on
>> xen-project/people but maybe we want to limit it to whoever is doing 
>> the
>> testing, or in some other way
>> 
>> tested on my own repo xen-project/people/victormlira/xen
>> 
>> push 
>> https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541858231
>> push /eclair-x86_64-amd$|alpine-3.18-gcc$/ 
>> https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541859057
>> push /alpine-3.18-gcc$/ 
>> https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541859605
>> schedule 
>> https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541871689
>> schedule /eclair-x86_64-amd$|alpine-3.18-gcc$/ 
>> https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541875599
>> schudule /alpine-3.18-gcc$/ 
>> https://gitlab.com/xen-project/people/victormlira/xen/-/pipelines/2541876512
> 
> I'm afraid this still doesn't work.
> 
> I pushed with ci.variable=SELECTED_JOBS_ONLY="/eclair-x86_64-allcode/"
> and still got the eclair-*-amd jobs started.
> 
> https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2545988798
> 
> ~Andrew

Perhaps it's because the runner is marked as a safety runner?

   rules:
     - if: $ECLAIR_SAFETY
       when: always

-- 
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253
Re: [XEN PATCH v1] automation: edit rules for analyze jobs
Posted by Anthony PERARD 1 day, 7 hours ago
On Fri, May 22, 2026 at 12:32:33PM +0200, Nicola Vetrini wrote:
> On 2026-05-22 12:20, Andrew Cooper wrote:
> > I'm afraid this still doesn't work.
> > 
> > I pushed with ci.variable=SELECTED_JOBS_ONLY="/eclair-x86_64-allcode/"
> > and still got the eclair-*-amd jobs started.
> > 
> > https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2545988798
> 
> Perhaps it's because the runner is marked as a safety runner?
> 
>   rules:
>     - if: $ECLAIR_SAFETY
>       when: always


The variable isn't set in the runner (runners variable wouldn't be taken
into account here anyway). The variable is set for the group
"xen-project/hardware", so for every repo under it.

Cheers,


-- 
Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech