diff mbox series

[XEN,2/2] automation/eclair: avoid unintentional ECLAIR analysis

Message ID 57bc71b428d439f933cdbb0b88a36b39bc77e45e.1691760935.git.simone.ballarin@bugseng.com (mailing list archive)
State Superseded
Headers show
Series automation: avoid unnecessary analyses | expand

Commit Message

Simone Ballarin Aug. 11, 2023, 1:52 p.m. UTC
With this patch, ECLAIR jobs will need to be manually
started for "people/.*" pipelines.

This avoids occupying the runner on analyzes that might
not be used by developers.

If developers want to analyze their own repositories
they need to launch them from GitLab.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
 automation/gitlab-ci/build.yaml   |  6 ------
 automation/gitlab-ci/test.yaml    |  5 -----
 3 files changed, 10 insertions(+), 15 deletions(-)

Comments

Stefano Stabellini Aug. 11, 2023, 10:04 p.m. UTC | #1
On Fri, 11 Aug 2023, Simone Ballarin wrote:
> With this patch, ECLAIR jobs will need to be manually
> started for "people/.*" pipelines.
> 
> This avoids occupying the runner on analyzes that might
> not be used by developers.
> 
> If developers want to analyze their own repositories
> they need to launch them from GitLab.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
>  automation/gitlab-ci/build.yaml   |  6 ------
>  automation/gitlab-ci/test.yaml    |  5 -----
>  3 files changed, 10 insertions(+), 15 deletions(-)
> 
> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
> index 4aa4abe2ee..f04ff99093 100644
> --- a/automation/gitlab-ci/analyze.yaml
> +++ b/automation/gitlab-ci/analyze.yaml
> @@ -20,21 +20,27 @@
>        codequality: gl-code-quality-report.json
>    needs: []
>  
> -eclair-x86_64:
> +.eclair-analysis:triggered:
>    extends: .eclair-analysis
> +  allow_failure: true
> +  rules:
> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
> +      when: manual
> +    - when: always
> +
> +eclair-x86_64:
> +  extends: .eclair-analysis:triggered
>    variables:
>      LOGFILE: "eclair-x86_64.log"
>      VARIANT: "X86_64"
>      RULESET: "Set1"
> -  allow_failure: true
>  
>  eclair-ARM64:
> -  extends: .eclair-analysis
> +  extends: .eclair-analysis:triggered
>    variables:
>      LOGFILE: "eclair-ARM64.log"
>      VARIANT: "ARM64"
>      RULESET: "Set1"
> -  allow_failure: true
>  
>  .eclair-analysis:on-schedule:
>    extends: .eclair-analysis

Everything so far looks great and I am ready to Ack.


> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 173613567c..e4b601943c 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -12,11 +12,6 @@
>        - '*/*.log'
>      when: always
>    needs: []
> -  except:
> -    - master
> -    - smoke
> -    - /^coverity-tested\/.*/
> -    - /^stable-.*/
>  
>  .gcc-tmpl:
>    variables: &gcc
> @@ -269,7 +264,6 @@
>  .test-jobs-artifact-common:
>    stage: build
>    needs: []
> -  except: !reference [.test-jobs-common, except]
>  
>  # Arm test artifacts
>  
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 8ccce1fe26..11cb97ea4b 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -1,11 +1,6 @@
>  .test-jobs-common:
>    stage: test
>    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> -  except:
> -    - master
> -    - smoke
> -    - /^coverity-tested\/.*/
> -    - /^stable-.*/
>  
>  .arm64-test-needs: &arm64-test-needs
>    - alpine-3.18-arm64-rootfs-export

These changes instead belongs to the first patch, right?
Simone Ballarin Aug. 12, 2023, 6:37 a.m. UTC | #2
On 12/08/2023 00:04, Stefano Stabellini wrote:
> On Fri, 11 Aug 2023, Simone Ballarin wrote:
>> With this patch, ECLAIR jobs will need to be manually
>> started for "people/.*" pipelines.
>> 
>> This avoids occupying the runner on analyzes that might
>> not be used by developers.
>> 
>> If developers want to analyze their own repositories
>> they need to launch them from GitLab.
>> 
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> ---
>>  automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
>>  automation/gitlab-ci/build.yaml   |  6 ------
>>  automation/gitlab-ci/test.yaml    |  5 -----
>>  3 files changed, 10 insertions(+), 15 deletions(-)
>> 
>> diff --git a/automation/gitlab-ci/analyze.yaml 
>> b/automation/gitlab-ci/analyze.yaml
>> index 4aa4abe2ee..f04ff99093 100644
>> --- a/automation/gitlab-ci/analyze.yaml
>> +++ b/automation/gitlab-ci/analyze.yaml
>> @@ -20,21 +20,27 @@
>>        codequality: gl-code-quality-report.json
>>    needs: []
>> 
>> -eclair-x86_64:
>> +.eclair-analysis:triggered:
>>    extends: .eclair-analysis
>> +  allow_failure: true
>> +  rules:
>> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
>> +      when: manual
>> +    - when: always
>> +
>> +eclair-x86_64:
>> +  extends: .eclair-analysis:triggered
>>    variables:
>>      LOGFILE: "eclair-x86_64.log"
>>      VARIANT: "X86_64"
>>      RULESET: "Set1"
>> -  allow_failure: true
>> 
>>  eclair-ARM64:
>> -  extends: .eclair-analysis
>> +  extends: .eclair-analysis:triggered
>>    variables:
>>      LOGFILE: "eclair-ARM64.log"
>>      VARIANT: "ARM64"
>>      RULESET: "Set1"
>> -  allow_failure: true
>> 
>>  .eclair-analysis:on-schedule:
>>    extends: .eclair-analysis
> 
> Everything so far looks great and I am ready to Ack.
> 
> 
>> diff --git a/automation/gitlab-ci/build.yaml 
>> b/automation/gitlab-ci/build.yaml
>> index 173613567c..e4b601943c 100644
>> --- a/automation/gitlab-ci/build.yaml
>> +++ b/automation/gitlab-ci/build.yaml
>> @@ -12,11 +12,6 @@
>>        - '*/*.log'
>>      when: always
>>    needs: []
>> -  except:
>> -    - master
>> -    - smoke
>> -    - /^coverity-tested\/.*/
>> -    - /^stable-.*/
>> 
>>  .gcc-tmpl:
>>    variables: &gcc
>> @@ -269,7 +264,6 @@
>>  .test-jobs-artifact-common:
>>    stage: build
>>    needs: []
>> -  except: !reference [.test-jobs-common, except]
>> 
>>  # Arm test artifacts
>> 
>> diff --git a/automation/gitlab-ci/test.yaml 
>> b/automation/gitlab-ci/test.yaml
>> index 8ccce1fe26..11cb97ea4b 100644
>> --- a/automation/gitlab-ci/test.yaml
>> +++ b/automation/gitlab-ci/test.yaml
>> @@ -1,11 +1,6 @@
>>  .test-jobs-common:
>>    stage: test
>>    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
>> -  except:
>> -    - master
>> -    - smoke
>> -    - /^coverity-tested\/.*/
>> -    - /^stable-.*/
>> 
>>  .arm64-test-needs: &arm64-test-needs
>>    - alpine-3.18-arm64-rootfs-export
> 
> These changes instead belongs to the first patch, right?

Yes, sorry. Moreover, it is the answer to your question on
the other patch.
Stefano Stabellini Aug. 14, 2023, 9:45 p.m. UTC | #3
On Sat, 12 Aug 2023, Simone Ballarin wrote:
> On 12/08/2023 00:04, Stefano Stabellini wrote:
> > On Fri, 11 Aug 2023, Simone Ballarin wrote:
> > > With this patch, ECLAIR jobs will need to be manually
> > > started for "people/.*" pipelines.
> > > 
> > > This avoids occupying the runner on analyzes that might
> > > not be used by developers.
> > > 
> > > If developers want to analyze their own repositories
> > > they need to launch them from GitLab.
> > > 
> > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > > ---
> > >  automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
> > >  automation/gitlab-ci/build.yaml   |  6 ------
> > >  automation/gitlab-ci/test.yaml    |  5 -----
> > >  3 files changed, 10 insertions(+), 15 deletions(-)
> > > 
> > > diff --git a/automation/gitlab-ci/analyze.yaml
> > > b/automation/gitlab-ci/analyze.yaml
> > > index 4aa4abe2ee..f04ff99093 100644
> > > --- a/automation/gitlab-ci/analyze.yaml
> > > +++ b/automation/gitlab-ci/analyze.yaml
> > > @@ -20,21 +20,27 @@
> > >        codequality: gl-code-quality-report.json
> > >    needs: []
> > > 
> > > -eclair-x86_64:
> > > +.eclair-analysis:triggered:
> > >    extends: .eclair-analysis
> > > +  allow_failure: true
> > > +  rules:
> > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
> > > +      when: manual
> > > +    - when: always
> > > +
> > > +eclair-x86_64:
> > > +  extends: .eclair-analysis:triggered
> > >    variables:
> > >      LOGFILE: "eclair-x86_64.log"
> > >      VARIANT: "X86_64"
> > >      RULESET: "Set1"
> > > -  allow_failure: true
> > > 
> > >  eclair-ARM64:
> > > -  extends: .eclair-analysis
> > > +  extends: .eclair-analysis:triggered
> > >    variables:
> > >      LOGFILE: "eclair-ARM64.log"
> > >      VARIANT: "ARM64"
> > >      RULESET: "Set1"
> > > -  allow_failure: true
> > > 
> > >  .eclair-analysis:on-schedule:
> > >    extends: .eclair-analysis
> > 
> > Everything so far looks great and I am ready to Ack.
> > 
> > 
> > > diff --git a/automation/gitlab-ci/build.yaml
> > > b/automation/gitlab-ci/build.yaml
> > > index 173613567c..e4b601943c 100644
> > > --- a/automation/gitlab-ci/build.yaml
> > > +++ b/automation/gitlab-ci/build.yaml
> > > @@ -12,11 +12,6 @@
> > >        - '*/*.log'
> > >      when: always
> > >    needs: []
> > > -  except:
> > > -    - master
> > > -    - smoke
> > > -    - /^coverity-tested\/.*/
> > > -    - /^stable-.*/
> > > 
> > >  .gcc-tmpl:
> > >    variables: &gcc
> > > @@ -269,7 +264,6 @@
> > >  .test-jobs-artifact-common:
> > >    stage: build
> > >    needs: []
> > > -  except: !reference [.test-jobs-common, except]
> > > 
> > >  # Arm test artifacts
> > > 
> > > diff --git a/automation/gitlab-ci/test.yaml
> > > b/automation/gitlab-ci/test.yaml
> > > index 8ccce1fe26..11cb97ea4b 100644
> > > --- a/automation/gitlab-ci/test.yaml
> > > +++ b/automation/gitlab-ci/test.yaml
> > > @@ -1,11 +1,6 @@
> > >  .test-jobs-common:
> > >    stage: test
> > >    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> > > -  except:
> > > -    - master
> > > -    - smoke
> > > -    - /^coverity-tested\/.*/
> > > -    - /^stable-.*/
> > > 
> > >  .arm64-test-needs: &arm64-test-needs
> > >    - alpine-3.18-arm64-rootfs-export
> > 
> > These changes instead belongs to the first patch, right?
> 
> Yes, sorry. Moreover, it is the answer to your question on
> the other patch.

No problem. Please re-send. One more comment. In the first patch we
have:

+workflow:
+  rules:
+    - if: $CI_COMMIT_BRANCH =~ /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
+      when: never
+    - when: always

I think it is an excellent idea to skip "master" as well as the others,
but maybe we could make them "manual" instead of "never" just in case
someone wants to see the results on master. It might happen on special
occasions.
Stefano Stabellini Aug. 14, 2023, 9:52 p.m. UTC | #4
On Mon, 14 Aug 2023, Stefano Stabellini wrote:
> On Sat, 12 Aug 2023, Simone Ballarin wrote:
> > On 12/08/2023 00:04, Stefano Stabellini wrote:
> > > On Fri, 11 Aug 2023, Simone Ballarin wrote:
> > > > With this patch, ECLAIR jobs will need to be manually
> > > > started for "people/.*" pipelines.
> > > > 
> > > > This avoids occupying the runner on analyzes that might
> > > > not be used by developers.
> > > > 
> > > > If developers want to analyze their own repositories
> > > > they need to launch them from GitLab.
> > > > 
> > > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > > > ---
> > > >  automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
> > > >  automation/gitlab-ci/build.yaml   |  6 ------
> > > >  automation/gitlab-ci/test.yaml    |  5 -----
> > > >  3 files changed, 10 insertions(+), 15 deletions(-)
> > > > 
> > > > diff --git a/automation/gitlab-ci/analyze.yaml
> > > > b/automation/gitlab-ci/analyze.yaml
> > > > index 4aa4abe2ee..f04ff99093 100644
> > > > --- a/automation/gitlab-ci/analyze.yaml
> > > > +++ b/automation/gitlab-ci/analyze.yaml
> > > > @@ -20,21 +20,27 @@
> > > >        codequality: gl-code-quality-report.json
> > > >    needs: []
> > > > 
> > > > -eclair-x86_64:
> > > > +.eclair-analysis:triggered:
> > > >    extends: .eclair-analysis
> > > > +  allow_failure: true
> > > > +  rules:
> > > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
> > > > +      when: manual
> > > > +    - when: always
> > > > +
> > > > +eclair-x86_64:
> > > > +  extends: .eclair-analysis:triggered
> > > >    variables:
> > > >      LOGFILE: "eclair-x86_64.log"
> > > >      VARIANT: "X86_64"
> > > >      RULESET: "Set1"
> > > > -  allow_failure: true
> > > > 
> > > >  eclair-ARM64:
> > > > -  extends: .eclair-analysis
> > > > +  extends: .eclair-analysis:triggered
> > > >    variables:
> > > >      LOGFILE: "eclair-ARM64.log"
> > > >      VARIANT: "ARM64"
> > > >      RULESET: "Set1"
> > > > -  allow_failure: true
> > > > 
> > > >  .eclair-analysis:on-schedule:
> > > >    extends: .eclair-analysis
> > > 
> > > Everything so far looks great and I am ready to Ack.
> > > 
> > > 
> > > > diff --git a/automation/gitlab-ci/build.yaml
> > > > b/automation/gitlab-ci/build.yaml
> > > > index 173613567c..e4b601943c 100644
> > > > --- a/automation/gitlab-ci/build.yaml
> > > > +++ b/automation/gitlab-ci/build.yaml
> > > > @@ -12,11 +12,6 @@
> > > >        - '*/*.log'
> > > >      when: always
> > > >    needs: []
> > > > -  except:
> > > > -    - master
> > > > -    - smoke
> > > > -    - /^coverity-tested\/.*/
> > > > -    - /^stable-.*/
> > > > 
> > > >  .gcc-tmpl:
> > > >    variables: &gcc
> > > > @@ -269,7 +264,6 @@
> > > >  .test-jobs-artifact-common:
> > > >    stage: build
> > > >    needs: []
> > > > -  except: !reference [.test-jobs-common, except]
> > > > 
> > > >  # Arm test artifacts
> > > > 
> > > > diff --git a/automation/gitlab-ci/test.yaml
> > > > b/automation/gitlab-ci/test.yaml
> > > > index 8ccce1fe26..11cb97ea4b 100644
> > > > --- a/automation/gitlab-ci/test.yaml
> > > > +++ b/automation/gitlab-ci/test.yaml
> > > > @@ -1,11 +1,6 @@
> > > >  .test-jobs-common:
> > > >    stage: test
> > > >    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> > > > -  except:
> > > > -    - master
> > > > -    - smoke
> > > > -    - /^coverity-tested\/.*/
> > > > -    - /^stable-.*/
> > > > 
> > > >  .arm64-test-needs: &arm64-test-needs
> > > >    - alpine-3.18-arm64-rootfs-export
> > > 
> > > These changes instead belongs to the first patch, right?
> > 
> > Yes, sorry. Moreover, it is the answer to your question on
> > the other patch.
> 
> No problem. Please re-send. One more comment. In the first patch we
> have:
> 
> +workflow:
> +  rules:
> +    - if: $CI_COMMIT_BRANCH =~ /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
> +      when: never
> +    - when: always
> 
> I think it is an excellent idea to skip "master" as well as the others,
> but maybe we could make them "manual" instead of "never" just in case
> someone wants to see the results on master. It might happen on special
> occasions.

One more thing: today the Eclair jobs always start even if WTOKEN is not
defined (hence the jobs cannot actually succeed). Would it make sense to
also add a check on the existence of WTOKEN? If WTOKEN exists, start the
Eclair jobs, otherwise do not ?
Simone Ballarin Aug. 21, 2023, 7:39 a.m. UTC | #5
On 14/08/2023 23:45, Stefano Stabellini wrote:
> On Sat, 12 Aug 2023, Simone Ballarin wrote:
>> On 12/08/2023 00:04, Stefano Stabellini wrote:
>> > On Fri, 11 Aug 2023, Simone Ballarin wrote:
>> > > With this patch, ECLAIR jobs will need to be manually
>> > > started for "people/.*" pipelines.
>> > >
>> > > This avoids occupying the runner on analyzes that might
>> > > not be used by developers.
>> > >
>> > > If developers want to analyze their own repositories
>> > > they need to launch them from GitLab.
>> > >
>> > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> > > ---
>> > >  automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
>> > >  automation/gitlab-ci/build.yaml   |  6 ------
>> > >  automation/gitlab-ci/test.yaml    |  5 -----
>> > >  3 files changed, 10 insertions(+), 15 deletions(-)
>> > >
>> > > diff --git a/automation/gitlab-ci/analyze.yaml
>> > > b/automation/gitlab-ci/analyze.yaml
>> > > index 4aa4abe2ee..f04ff99093 100644
>> > > --- a/automation/gitlab-ci/analyze.yaml
>> > > +++ b/automation/gitlab-ci/analyze.yaml
>> > > @@ -20,21 +20,27 @@
>> > >        codequality: gl-code-quality-report.json
>> > >    needs: []
>> > >
>> > > -eclair-x86_64:
>> > > +.eclair-analysis:triggered:
>> > >    extends: .eclair-analysis
>> > > +  allow_failure: true
>> > > +  rules:
>> > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
>> > > +      when: manual
>> > > +    - when: always
>> > > +
>> > > +eclair-x86_64:
>> > > +  extends: .eclair-analysis:triggered
>> > >    variables:
>> > >      LOGFILE: "eclair-x86_64.log"
>> > >      VARIANT: "X86_64"
>> > >      RULESET: "Set1"
>> > > -  allow_failure: true
>> > >
>> > >  eclair-ARM64:
>> > > -  extends: .eclair-analysis
>> > > +  extends: .eclair-analysis:triggered
>> > >    variables:
>> > >      LOGFILE: "eclair-ARM64.log"
>> > >      VARIANT: "ARM64"
>> > >      RULESET: "Set1"
>> > > -  allow_failure: true
>> > >
>> > >  .eclair-analysis:on-schedule:
>> > >    extends: .eclair-analysis
>> >
>> > Everything so far looks great and I am ready to Ack.
>> >
>> >
>> > > diff --git a/automation/gitlab-ci/build.yaml
>> > > b/automation/gitlab-ci/build.yaml
>> > > index 173613567c..e4b601943c 100644
>> > > --- a/automation/gitlab-ci/build.yaml
>> > > +++ b/automation/gitlab-ci/build.yaml
>> > > @@ -12,11 +12,6 @@
>> > >        - '*/*.log'
>> > >      when: always
>> > >    needs: []
>> > > -  except:
>> > > -    - master
>> > > -    - smoke
>> > > -    - /^coverity-tested\/.*/
>> > > -    - /^stable-.*/
>> > >
>> > >  .gcc-tmpl:
>> > >    variables: &gcc
>> > > @@ -269,7 +264,6 @@
>> > >  .test-jobs-artifact-common:
>> > >    stage: build
>> > >    needs: []
>> > > -  except: !reference [.test-jobs-common, except]
>> > >
>> > >  # Arm test artifacts
>> > >
>> > > diff --git a/automation/gitlab-ci/test.yaml
>> > > b/automation/gitlab-ci/test.yaml
>> > > index 8ccce1fe26..11cb97ea4b 100644
>> > > --- a/automation/gitlab-ci/test.yaml
>> > > +++ b/automation/gitlab-ci/test.yaml
>> > > @@ -1,11 +1,6 @@
>> > >  .test-jobs-common:
>> > >    stage: test
>> > >    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
>> > > -  except:
>> > > -    - master
>> > > -    - smoke
>> > > -    - /^coverity-tested\/.*/
>> > > -    - /^stable-.*/
>> > >
>> > >  .arm64-test-needs: &arm64-test-needs
>> > >    - alpine-3.18-arm64-rootfs-export
>> >
>> > These changes instead belongs to the first patch, right?
>> 
>> Yes, sorry. Moreover, it is the answer to your question on
>> the other patch.
> 
> No problem. Please re-send. One more comment. In the first patch we
> have:
> 
> +workflow:
> +  rules:
> +    - if: $CI_COMMIT_BRANCH =~
> /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
> +      when: never
> +    - when: always
> 
> I think it is an excellent idea to skip "master" as well as the others,
> but maybe we could make them "manual" instead of "never" just in case
> someone wants to see the results on master. It might happen on special
> occasions.

"manual" cannot be used at workflow-level only at job-level.
I've made a couple of experiments and I find several problems in doing 
that:
Simone Ballarin Aug. 21, 2023, 8:08 a.m. UTC | #6
On 14/08/2023 23:52, Stefano Stabellini wrote:
> On Mon, 14 Aug 2023, Stefano Stabellini wrote:
>> On Sat, 12 Aug 2023, Simone Ballarin wrote:
>> > On 12/08/2023 00:04, Stefano Stabellini wrote:
>> > > On Fri, 11 Aug 2023, Simone Ballarin wrote:
>> > > > With this patch, ECLAIR jobs will need to be manually
>> > > > started for "people/.*" pipelines.
>> > > >
>> > > > This avoids occupying the runner on analyzes that might
>> > > > not be used by developers.
>> > > >
>> > > > If developers want to analyze their own repositories
>> > > > they need to launch them from GitLab.
>> > > >
>> > > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> > > > ---
>> > > >  automation/gitlab-ci/analyze.yaml | 14 ++++++++++----
>> > > >  automation/gitlab-ci/build.yaml   |  6 ------
>> > > >  automation/gitlab-ci/test.yaml    |  5 -----
>> > > >  3 files changed, 10 insertions(+), 15 deletions(-)
>> > > >
>> > > > diff --git a/automation/gitlab-ci/analyze.yaml
>> > > > b/automation/gitlab-ci/analyze.yaml
>> > > > index 4aa4abe2ee..f04ff99093 100644
>> > > > --- a/automation/gitlab-ci/analyze.yaml
>> > > > +++ b/automation/gitlab-ci/analyze.yaml
>> > > > @@ -20,21 +20,27 @@
>> > > >        codequality: gl-code-quality-report.json
>> > > >    needs: []
>> > > >
>> > > > -eclair-x86_64:
>> > > > +.eclair-analysis:triggered:
>> > > >    extends: .eclair-analysis
>> > > > +  allow_failure: true
>> > > > +  rules:
>> > > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
>> > > > +      when: manual
>> > > > +    - when: always
>> > > > +
>> > > > +eclair-x86_64:
>> > > > +  extends: .eclair-analysis:triggered
>> > > >    variables:
>> > > >      LOGFILE: "eclair-x86_64.log"
>> > > >      VARIANT: "X86_64"
>> > > >      RULESET: "Set1"
>> > > > -  allow_failure: true
>> > > >
>> > > >  eclair-ARM64:
>> > > > -  extends: .eclair-analysis
>> > > > +  extends: .eclair-analysis:triggered
>> > > >    variables:
>> > > >      LOGFILE: "eclair-ARM64.log"
>> > > >      VARIANT: "ARM64"
>> > > >      RULESET: "Set1"
>> > > > -  allow_failure: true
>> > > >
>> > > >  .eclair-analysis:on-schedule:
>> > > >    extends: .eclair-analysis
>> > >
>> > > Everything so far looks great and I am ready to Ack.
>> > >
>> > >
>> > > > diff --git a/automation/gitlab-ci/build.yaml
>> > > > b/automation/gitlab-ci/build.yaml
>> > > > index 173613567c..e4b601943c 100644
>> > > > --- a/automation/gitlab-ci/build.yaml
>> > > > +++ b/automation/gitlab-ci/build.yaml
>> > > > @@ -12,11 +12,6 @@
>> > > >        - '*/*.log'
>> > > >      when: always
>> > > >    needs: []
>> > > > -  except:
>> > > > -    - master
>> > > > -    - smoke
>> > > > -    - /^coverity-tested\/.*/
>> > > > -    - /^stable-.*/
>> > > >
>> > > >  .gcc-tmpl:
>> > > >    variables: &gcc
>> > > > @@ -269,7 +264,6 @@
>> > > >  .test-jobs-artifact-common:
>> > > >    stage: build
>> > > >    needs: []
>> > > > -  except: !reference [.test-jobs-common, except]
>> > > >
>> > > >  # Arm test artifacts
>> > > >
>> > > > diff --git a/automation/gitlab-ci/test.yaml
>> > > > b/automation/gitlab-ci/test.yaml
>> > > > index 8ccce1fe26..11cb97ea4b 100644
>> > > > --- a/automation/gitlab-ci/test.yaml
>> > > > +++ b/automation/gitlab-ci/test.yaml
>> > > > @@ -1,11 +1,6 @@
>> > > >  .test-jobs-common:
>> > > >    stage: test
>> > > >    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
>> > > > -  except:
>> > > > -    - master
>> > > > -    - smoke
>> > > > -    - /^coverity-tested\/.*/
>> > > > -    - /^stable-.*/
>> > > >
>> > > >  .arm64-test-needs: &arm64-test-needs
>> > > >    - alpine-3.18-arm64-rootfs-export
>> > >
>> > > These changes instead belongs to the first patch, right?
>> >
>> > Yes, sorry. Moreover, it is the answer to your question on
>> > the other patch.
>> 
>> No problem. Please re-send. One more comment. In the first patch we
>> have:
>> 
>> +workflow:
>> +  rules:
>> +    - if: $CI_COMMIT_BRANCH =~ 
>> /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
>> +      when: never
>> +    - when: always
>> 
>> I think it is an excellent idea to skip "master" as well as the 
>> others,
>> but maybe we could make them "manual" instead of "never" just in case
>> someone wants to see the results on master. It might happen on special
>> occasions.


"when:manual" cannot be used at workflow-level, but only at job-level.
I've made a couple of experiments and I found several problems in doing 
that
related to the clauses "allow_failure" and "needs".

> 
> One more thing: today the Eclair jobs always start even if WTOKEN is 
> not
> defined (hence the jobs cannot actually succeed). Would it make sense 
> to
> also add a check on the existence of WTOKEN? If WTOKEN exists, start 
> the
> Eclair jobs, otherwise do not ?

No problem.
diff mbox series

Patch

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index 4aa4abe2ee..f04ff99093 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -20,21 +20,27 @@ 
       codequality: gl-code-quality-report.json
   needs: []
 
-eclair-x86_64:
+.eclair-analysis:triggered:
   extends: .eclair-analysis
+  allow_failure: true
+  rules:
+    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
+      when: manual
+    - when: always
+
+eclair-x86_64:
+  extends: .eclair-analysis:triggered
   variables:
     LOGFILE: "eclair-x86_64.log"
     VARIANT: "X86_64"
     RULESET: "Set1"
-  allow_failure: true
 
 eclair-ARM64:
-  extends: .eclair-analysis
+  extends: .eclair-analysis:triggered
   variables:
     LOGFILE: "eclair-ARM64.log"
     VARIANT: "ARM64"
     RULESET: "Set1"
-  allow_failure: true
 
 .eclair-analysis:on-schedule:
   extends: .eclair-analysis
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 173613567c..e4b601943c 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -12,11 +12,6 @@ 
       - '*/*.log'
     when: always
   needs: []
-  except:
-    - master
-    - smoke
-    - /^coverity-tested\/.*/
-    - /^stable-.*/
 
 .gcc-tmpl:
   variables: &gcc
@@ -269,7 +264,6 @@ 
 .test-jobs-artifact-common:
   stage: build
   needs: []
-  except: !reference [.test-jobs-common, except]
 
 # Arm test artifacts
 
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 8ccce1fe26..11cb97ea4b 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -1,11 +1,6 @@ 
 .test-jobs-common:
   stage: test
   image: registry.gitlab.com/xen-project/xen/${CONTAINER}
-  except:
-    - master
-    - smoke
-    - /^coverity-tested\/.*/
-    - /^stable-.*/
 
 .arm64-test-needs: &arm64-test-needs
   - alpine-3.18-arm64-rootfs-export