Message ID | 36ea68b24a1e336ef9170b7f89949d282ee1e746.1700752056.git.simone.ballarin@bugseng.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [XEN,v2] automation/eclair: improve scheduled analyses | expand |
On Thu, 23 Nov 2023, Simone Ballarin wrote: > The scheduled analyses are intended to maintain an overall vision > of the MISRA complaince of the entire project. For this reason, > the file exclusions in "out_of_scope.ecl" should not be applied. > > This patch amends ECLAIR settings to prevent exempting files for > scheduled analyses. > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> > > --- > Changes in v2: > - drop changes to inhibit test and build stages in scheduled pipelines. > --- > automation/eclair_analysis/ECLAIR/action.settings | 2 +- > automation/eclair_analysis/ECLAIR/analysis.ecl | 12 ++++++++++-- > automation/gitlab-ci/analyze.yaml | 2 ++ > 3 files changed, 13 insertions(+), 3 deletions(-) > > diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings > index f96368ffc7..3cba1a3afb 100644 > --- a/automation/eclair_analysis/ECLAIR/action.settings > +++ b/automation/eclair_analysis/ECLAIR/action.settings > @@ -134,7 +134,7 @@ push) > badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}" > ;; > auto_pull_request) > - git remote remove autoPRRemote || true > + git remote remove autoPRRemote 2>/dev/null || true > git remote add autoPRRemote "${autoPRRemoteUrl}" > git fetch -q autoPRRemote > subDir="${ref}" > diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl > index fe418d6da1..2507a8e787 100644 > --- a/automation/eclair_analysis/ECLAIR/analysis.ecl > +++ b/automation/eclair_analysis/ECLAIR/analysis.ecl > @@ -2,7 +2,13 @@ > -project_name=getenv("ECLAIR_PROJECT_NAME") > -project_root=getenv("ECLAIR_PROJECT_ROOT") > > --setq=data_dir,getenv("ECLAIR_DATA_DIR") > +setq(data_dir,getenv("ECLAIR_DATA_DIR")) > +setq(analysis_kind,getenv("ANALYSIS_KIND")) > +setq(scheduled_analysis,nil) > + > +strings_map("scheduled-analysis",500,"","^.*scheduled$",0,setq(scheduled_analysis,t)) > +strings_map("scheduled-analysis",500,"","^.*$",0) > +map_strings("scheduled-analysis",analysis_kind) > > -verbose > > @@ -15,7 +21,9 @@ > > -eval_file=toolchain.ecl > -eval_file=public_APIs.ecl > --eval_file=out_of_scope.ecl > +if(scheduled_analysis, > + eval_file("out_of_scope.ecl") > +) Overall the patch looks much better. Only one question: shouldn't it be if not scheduled_analysis instead of: if scheduled_analysis I don't know the language of analysis.ecl but we are supposed to add out_of_scope.ecl in all cases except for scheduled_analysis. Looking at this change it seems to do the opposite? > -eval_file=deviations.ecl > -eval_file=call_properties.ecl > -eval_file=tagging.ecl > diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml > index bd9a68de31..6631db53fa 100644 > --- a/automation/gitlab-ci/analyze.yaml > +++ b/automation/gitlab-ci/analyze.yaml > @@ -28,6 +28,8 @@ > extends: .eclair-analysis > allow_failure: true > rules: > + - if: $CI_PIPELINE_SOURCE == "schedule" > + when: never > - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/ > when: manual > - !reference [.eclair-analysis, rules] > -- > 2.34.1 >
On 30/11/23 04:13, Stefano Stabellini wrote: > On Thu, 23 Nov 2023, Simone Ballarin wrote: >> The scheduled analyses are intended to maintain an overall vision >> of the MISRA complaince of the entire project. For this reason, >> the file exclusions in "out_of_scope.ecl" should not be applied. >> >> This patch amends ECLAIR settings to prevent exempting files for >> scheduled analyses. >> >> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com> >> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> >> >> --- >> Changes in v2: >> - drop changes to inhibit test and build stages in scheduled pipelines. >> --- >> automation/eclair_analysis/ECLAIR/action.settings | 2 +- >> automation/eclair_analysis/ECLAIR/analysis.ecl | 12 ++++++++++-- >> automation/gitlab-ci/analyze.yaml | 2 ++ >> 3 files changed, 13 insertions(+), 3 deletions(-) >> >> diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings >> index f96368ffc7..3cba1a3afb 100644 >> --- a/automation/eclair_analysis/ECLAIR/action.settings >> +++ b/automation/eclair_analysis/ECLAIR/action.settings >> @@ -134,7 +134,7 @@ push) >> badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}" >> ;; >> auto_pull_request) >> - git remote remove autoPRRemote || true >> + git remote remove autoPRRemote 2>/dev/null || true >> git remote add autoPRRemote "${autoPRRemoteUrl}" >> git fetch -q autoPRRemote >> subDir="${ref}" >> diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl >> index fe418d6da1..2507a8e787 100644 >> --- a/automation/eclair_analysis/ECLAIR/analysis.ecl >> +++ b/automation/eclair_analysis/ECLAIR/analysis.ecl >> @@ -2,7 +2,13 @@ >> -project_name=getenv("ECLAIR_PROJECT_NAME") >> -project_root=getenv("ECLAIR_PROJECT_ROOT") >> >> --setq=data_dir,getenv("ECLAIR_DATA_DIR") >> +setq(data_dir,getenv("ECLAIR_DATA_DIR")) >> +setq(analysis_kind,getenv("ANALYSIS_KIND")) >> +setq(scheduled_analysis,nil) >> + >> +strings_map("scheduled-analysis",500,"","^.*scheduled$",0,setq(scheduled_analysis,t)) >> +strings_map("scheduled-analysis",500,"","^.*$",0) >> +map_strings("scheduled-analysis",analysis_kind) >> >> -verbose >> >> @@ -15,7 +21,9 @@ >> >> -eval_file=toolchain.ecl >> -eval_file=public_APIs.ecl >> --eval_file=out_of_scope.ecl >> +if(scheduled_analysis, >> + eval_file("out_of_scope.ecl") >> +) > > > Overall the patch looks much better. Only one question: shouldn't it be > > if not scheduled_analysis > > instead of: > > if scheduled_analysis > > I don't know the language of analysis.ecl but we are supposed to add > out_of_scope.ecl in all cases except for scheduled_analysis. Looking at > this change it seems to do the opposite? yes, you're right. I will fix the guard in v3. > > >> -eval_file=deviations.ecl >> -eval_file=call_properties.ecl >> -eval_file=tagging.ecl >> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml >> index bd9a68de31..6631db53fa 100644 >> --- a/automation/gitlab-ci/analyze.yaml >> +++ b/automation/gitlab-ci/analyze.yaml >> @@ -28,6 +28,8 @@ >> extends: .eclair-analysis >> allow_failure: true >> rules: >> + - if: $CI_PIPELINE_SOURCE == "schedule" >> + when: never >> - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/ >> when: manual >> - !reference [.eclair-analysis, rules] >> -- >> 2.34.1 >> >
diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings index f96368ffc7..3cba1a3afb 100644 --- a/automation/eclair_analysis/ECLAIR/action.settings +++ b/automation/eclair_analysis/ECLAIR/action.settings @@ -134,7 +134,7 @@ push) badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}" ;; auto_pull_request) - git remote remove autoPRRemote || true + git remote remove autoPRRemote 2>/dev/null || true git remote add autoPRRemote "${autoPRRemoteUrl}" git fetch -q autoPRRemote subDir="${ref}" diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl index fe418d6da1..2507a8e787 100644 --- a/automation/eclair_analysis/ECLAIR/analysis.ecl +++ b/automation/eclair_analysis/ECLAIR/analysis.ecl @@ -2,7 +2,13 @@ -project_name=getenv("ECLAIR_PROJECT_NAME") -project_root=getenv("ECLAIR_PROJECT_ROOT") --setq=data_dir,getenv("ECLAIR_DATA_DIR") +setq(data_dir,getenv("ECLAIR_DATA_DIR")) +setq(analysis_kind,getenv("ANALYSIS_KIND")) +setq(scheduled_analysis,nil) + +strings_map("scheduled-analysis",500,"","^.*scheduled$",0,setq(scheduled_analysis,t)) +strings_map("scheduled-analysis",500,"","^.*$",0) +map_strings("scheduled-analysis",analysis_kind) -verbose @@ -15,7 +21,9 @@ -eval_file=toolchain.ecl -eval_file=public_APIs.ecl --eval_file=out_of_scope.ecl +if(scheduled_analysis, + eval_file("out_of_scope.ecl") +) -eval_file=deviations.ecl -eval_file=call_properties.ecl -eval_file=tagging.ecl diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml index bd9a68de31..6631db53fa 100644 --- a/automation/gitlab-ci/analyze.yaml +++ b/automation/gitlab-ci/analyze.yaml @@ -28,6 +28,8 @@ extends: .eclair-analysis allow_failure: true rules: + - if: $CI_PIPELINE_SOURCE == "schedule" + when: never - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/ when: manual - !reference [.eclair-analysis, rules]