1.eclair-analysis:
2  stage: analyze
3  tags:
4    - eclair-analysis
5  variables:
6    ECLAIR_OUTPUT_DIR: "ECLAIR_out"
7    ANALYSIS_KIND: "normal"
8    ENABLE_ECLAIR_BOT: "n"
9    AUTO_PR_BRANCH: "staging"
10    AUTO_PR_REPOSITORY: "xen-project/xen"
11  script:
12    - ./automation/scripts/eclair 2>&1 | tee "${LOGFILE}"
13  artifacts:
14    when: always
15    paths:
16      - "${ECLAIR_OUTPUT_DIR}/*.log"
17      - "${ECLAIR_OUTPUT_DIR}/*.txt"
18      - '*.log'
19    reports:
20      codequality: gl-code-quality-report.json
21  rules:
22    - if: $WTOKEN == null
23      when: never
24    - when: always
25  needs: []
26
27.eclair-analysis:triggered:
28  extends: .eclair-analysis
29  rules:
30    - if: $CI_PIPELINE_SOURCE == "schedule"
31      when: never
32    - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
33      when: manual
34      allow_failure: true
35    - !reference [.eclair-analysis, rules]
36
37eclair-x86_64:
38  extends: .eclair-analysis:triggered
39  variables:
40    LOGFILE: "eclair-x86_64.log"
41    VARIANT: "X86_64"
42    RULESET: "monitored"
43
44eclair-ARM64:
45  extends: .eclair-analysis:triggered
46  variables:
47    LOGFILE: "eclair-ARM64.log"
48    VARIANT: "ARM64"
49    RULESET: "monitored"
50
51.eclair-analysis:on-schedule:
52  extends: .eclair-analysis
53  rules:
54    - if: $CI_PIPELINE_SOURCE != "schedule"
55      when: never
56    - !reference [.eclair-analysis, rules]
57
58eclair-x86_64:on-schedule:
59  extends: .eclair-analysis:on-schedule
60  variables:
61    VARIANT: "X86_64"
62    RULESET: "accepted"
63    ANALYSIS_KIND: "${RULESET}-scheduled"
64    LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
65  allow_failure: true
66
67eclair-ARM64:on-schedule:
68  extends: .eclair-analysis:on-schedule
69  variables:
70    VARIANT: "ARM64"
71    RULESET: "accepted"
72    ANALYSIS_KIND: "${RULESET}-scheduled"
73    LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
74  allow_failure: true
75