Message ID | 90f35626378aae5f5a482bf22c2246b506bb547e.1701363877.git.simone.ballarin@bugseng.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [XEN,v3] automation/eclair: improve scheduled analyses | expand |
On Thu, 30 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> Acked-by: Stefano Stabellini <sstabellini@kernel.org> > --- > Changes in v3: > - fix guard for inclusion of out_of_scope.ecl. > 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..f8d4cc8c99 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(not(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] > -- > 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..f8d4cc8c99 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(not(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]
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> --- Changes in v3: - fix guard for inclusion of out_of_scope.ecl. 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(-)