mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
Introduce accepted_guidelines.sh: a script to autogenerate the
configuration file accepted.ecl from docs/misra/rules.rst which enables
all accepted guidelines.
Introduce monitored.ecl: a manual selection of accepted guidelines
which are clean or almost clean, it is intended to be used for the
analyses triggered by commits.
Reorganize tagging.ecl:
-Remove "accepted" tags: keeping track of accepted guidelines tagging
them as "accepted" in the configuration file tagging.ecl is no
longer needed since docs/rules.rst is keeping track of them.
-Tag more guidelines as clean.
Reorganize eclair pipelines:
- Set1, Set2, Set3 are now obsolete: remove the corresponding
pipelines and ecl files.
- Amend scheduled eclair pipeline to use accepted.ecl.
- Amend triggered eclair pipeline to use monitored.ecl.
Rename and improve action_check_clean_regressions.sh to print a
diagnostic in case a commit introduces a violation of a clean guideline.
An example of diagnostic is the following:
Failure: 13 regressions found for clean guidelines
service MC3R1.R8.2: (required) Function types shall be in prototype form with named parameters:
violation: 13
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
75 lines
1.8 KiB
YAML
75 lines
1.8 KiB
YAML
.eclair-analysis:
|
|
stage: analyze
|
|
tags:
|
|
- eclair-analysis
|
|
variables:
|
|
ECLAIR_OUTPUT_DIR: "ECLAIR_out"
|
|
ANALYSIS_KIND: "normal"
|
|
ENABLE_ECLAIR_BOT: "n"
|
|
AUTO_PR_BRANCH: "staging"
|
|
AUTO_PR_REPOSITORY: "xen-project/xen"
|
|
script:
|
|
- ./automation/scripts/eclair 2>&1 | tee "${LOGFILE}"
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- "${ECLAIR_OUTPUT_DIR}/*.log"
|
|
- "${ECLAIR_OUTPUT_DIR}/*.txt"
|
|
- '*.log'
|
|
reports:
|
|
codequality: gl-code-quality-report.json
|
|
rules:
|
|
- if: $WTOKEN == null
|
|
when: never
|
|
- when: always
|
|
needs: []
|
|
|
|
.eclair-analysis:triggered:
|
|
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]
|
|
|
|
eclair-x86_64:
|
|
extends: .eclair-analysis:triggered
|
|
variables:
|
|
LOGFILE: "eclair-x86_64.log"
|
|
VARIANT: "X86_64"
|
|
RULESET: "monitored"
|
|
|
|
eclair-ARM64:
|
|
extends: .eclair-analysis:triggered
|
|
variables:
|
|
LOGFILE: "eclair-ARM64.log"
|
|
VARIANT: "ARM64"
|
|
RULESET: "monitored"
|
|
|
|
.eclair-analysis:on-schedule:
|
|
extends: .eclair-analysis
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE != "schedule"
|
|
when: never
|
|
- !reference [.eclair-analysis, rules]
|
|
|
|
eclair-x86_64:on-schedule:
|
|
extends: .eclair-analysis:on-schedule
|
|
variables:
|
|
VARIANT: "X86_64"
|
|
RULESET: "accepted"
|
|
ANALYSIS_KIND: "${RULESET}-scheduled"
|
|
LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
|
|
allow_failure: true
|
|
|
|
eclair-ARM64:on-schedule:
|
|
extends: .eclair-analysis:on-schedule
|
|
variables:
|
|
VARIANT: "ARM64"
|
|
RULESET: "accepted"
|
|
ANALYSIS_KIND: "${RULESET}-scheduled"
|
|
LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
|
|
allow_failure: true
|