blob: 9a0536d7f3cf1c15e3391fae9f2419de9d73e279 [file] [log] [blame]
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -06001- job:
Leonardo Sandovalffaee982021-11-11 10:27:57 -06002 name: tf-a-main
Boyan Karatotev5c87c072023-02-10 11:04:58 +00003 node: docker-amd64-tf-a-jammy
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -06004 project-type: multijob
5 concurrent: true
6 disabled: false
7 description: Main CI job for Trusted Firmware.
8 properties:
9 - throttle:
10 option: project
11 enabled: true
12 max-total: 5
13 - build-discarder:
Leonardo Sandovala4feb552021-03-02 12:10:21 -060014 days-to-keep: 14
15 num-to-keep: 60
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060016 - authorization:
Leonardo Sandovalebca8822021-01-25 18:20:04 -060017 !include: authorization.yaml.inc
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060018 parameters:
19 - string:
20 name: TF_GERRIT_PROJECT
21 default: 'TF-A/trusted-firmware-a'
22 - string:
23 name: TF_GERRIT_BRANCH
Leonardo Sandoval3da340d2021-02-09 14:53:30 -060024 default: 'refs/heads/integration'
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060025 - string:
26 name: TF_GERRIT_REFSPEC
Leonardo Sandoval3da340d2021-02-09 14:53:30 -060027 default: '+refs/heads/integration:refs/remotes/origin/integration'
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060028 - string:
29 name: TFTF_GERRIT_PROJECT
30 default: 'TF-A/tf-a-tests'
31 - string:
32 name: TFTF_GERRIT_BRANCH
Leonardo Sandoval3da340d2021-02-09 14:53:30 -060033 default: 'refs/heads/master'
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060034 - string:
35 name: TFTF_GERRIT_REFSPEC
Leonardo Sandoval3da340d2021-02-09 14:53:30 -060036 default: '+refs/heads/master:refs/remotes/origin/master'
Leonardo Sandovald1b6b5a2021-09-13 12:06:26 -050037 - string:
Zelalem Awekee8801df2021-10-25 13:41:44 -050038 name: CI_REFSPEC
39 default: '+refs/heads/master:refs/remotes/origin/master'
40 - string:
Leonardo Sandovald1b6b5a2021-09-13 12:06:26 -050041 name: SHARE_FOLDER
42 default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
43 description: 'Folder containing shared repositories for downstream pipeline jobs'
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060044 wrappers:
45 - credentials-binding:
46 - ssh-user-private-key:
47 credential-id: TFA_CI_BOT_USER_SSH_KEY
48 key-file-variable: CI_BOT_KEY
49 username-variable: CI_BOT_USERNAME
50 passphrase-variable: ''
51 - workspace-cleanup
52 - timestamps
53 builders:
Leonardo Sandovald1b6b5a2021-09-13 12:06:26 -050054 - shell:
55 !include-raw: scripts/clone.sh
Fathi Boudra9c8a9452020-12-08 22:16:57 +010056 - shell: |
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060057 #!/bin/bash
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060058 set -e
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060059 cat << EOF > tf-a-env.param
60 GERRIT_PROJECT=${TF_GERRIT_PROJECT}
61 GERRIT_BRANCH=${TF_GERRIT_BRANCH}
62 GERRIT_REFSPEC=${TF_GERRIT_REFSPEC}
Milosz Wasilewski10438582020-12-03 11:36:21 +000063 QA_SERVER_PROJECT=${JOB_NAME}
64 QA_SERVER_VERSION=${BUILD_NUMBER}
Leonardo Sandovald1b6b5a2021-09-13 12:06:26 -050065 SHARE_FOLDER=${SHARE_FOLDER}
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060066 EOF
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060067 cat << EOF > tf-a-tests-env.param
68 GERRIT_PROJECT=${TFTF_GERRIT_PROJECT}
69 GERRIT_BRANCH=${TFTF_GERRIT_BRANCH}
70 GERRIT_REFSPEC=${TFTF_GERRIT_REFSPEC}
Milosz Wasilewski10438582020-12-03 11:36:21 +000071 QA_SERVER_PROJECT=${JOB_NAME}
72 QA_SERVER_VERSION=${BUILD_NUMBER}
Leonardo Sandovald1b6b5a2021-09-13 12:06:26 -050073 SHARE_FOLDER=${SHARE_FOLDER}
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060074 EOF
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060075 - multijob:
76 name: Run static checks on the code
77 condition: COMPLETED
78 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -060079 - name: tf-a-static-checks
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060080 current-parameters: true
81 kill-phase-on: NEVER
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060082 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060083 - multijob:
84 name: Build Trusted Firmware
85 condition: COMPLETED
86 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -060087 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +030088 alias: tf-l1-build-fvp tf-l2-build-fvp
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060089 current-parameters: true
90 kill-phase-on: NEVER
91 predefined-parameters: |
92 TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp
93 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -060094 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +030095 alias: tf-l1-build-juno tf-l2-build-juno
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060096 current-parameters: true
97 kill-phase-on: NEVER
98 predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno
99 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600100 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300101 alias: tf-l1-build-plat
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600102 current-parameters: true
103 kill-phase-on: NEVER
104 predefined-parameters: TEST_GROUPS=tf-l1-build-plat
105 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600106 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300107 alias: tf-l1-build-clang
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600108 current-parameters: true
109 kill-phase-on: NEVER
110 predefined-parameters: TEST_GROUPS=tf-l1-build-clang
111 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600112 - multijob:
Manish Pandeyb5fcc442022-06-20 14:08:45 +0100113 name: TFTF Tests for FVP
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600114 condition: COMPLETED
115 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600116 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300117 alias: tftf-l2-fwu
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600118 current-parameters: true
119 kill-phase-on: NEVER
120 predefined-parameters: TEST_GROUPS=tftf-l2-fwu
121 property-file: tf-a-tests-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600122 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300123 alias: tftf-l1-fvp tftf-l2-fvp-auxiliary
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600124 current-parameters: true
125 kill-phase-on: NEVER
Manish Pandeyb5fcc442022-06-20 14:08:45 +0100126 predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l2-fvp-auxiliary
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600127 property-file: tf-a-tests-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600128 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300129 alias: tftf-l2-fvp tftf-l2-fvp-dynamiq
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600130 current-parameters: true
131 kill-phase-on: NEVER
132 predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq
133 property-file: tf-a-tests-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600134 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300135 alias: tftf-l2-extensive-tests-fvp
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600136 current-parameters: true
137 kill-phase-on: NEVER
138 predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp
139 property-file: tf-a-tests-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600140 - multijob:
141 name: Boot up to the Linux shell prompt
142 condition: COMPLETED
143 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600144 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300145 alias: tf-l2-boot-tests-foundation
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600146 current-parameters: true
147 kill-phase-on: NEVER
148 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-foundation
149 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600150 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300151 alias: tf-l2-boot-tests-aarch32
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600152 current-parameters: true
153 kill-phase-on: NEVER
154 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
155 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600156 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300157 alias: tf-l2-boot-tests-rootfs
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600158 current-parameters: true
159 kill-phase-on: NEVER
160 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
161 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600162 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300163 alias: tf-l2-boot-tests-spm-mm
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600164 current-parameters: true
165 kill-phase-on: NEVER
Leonardo Sandoval67ac6f12020-12-10 11:02:26 -0600166 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600167 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600168 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300169 alias: spm-l2-boot-tests
Leonardo Sandoval0e0ee892021-02-16 10:39:51 -0600170 current-parameters: true
171 kill-phase-on: NEVER
172 predefined-parameters: TEST_GROUPS=spm-l2-boot-tests
173 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600174 - multijob:
175 name: Boot up to the Linux shell prompt - Part 2
176 condition: COMPLETED
177 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600178 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300179 alias: tf-l2-boot-tests-misc
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600180 current-parameters: true
181 kill-phase-on: NEVER
182 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
183 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600184 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300185 alias: tf-l2-boot-tests-latest
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600186 current-parameters: true
187 kill-phase-on: NEVER
188 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
189 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600190 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300191 alias: tf-l2-boot-tests-cortex
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600192 current-parameters: true
193 kill-phase-on: NEVER
194 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex
195 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600196 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300197 alias: tf-l2-boot-tests-gicv2
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600198 current-parameters: true
199 kill-phase-on: NEVER
200 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
201 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600202 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300203 alias: tf-l2-boot-tests-bl2_el3
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600204 current-parameters: true
205 kill-phase-on: NEVER
206 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3
207 property-file: tf-a-env.param
Harrison Mutai521b3c82022-11-08 10:18:15 +0000208 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300209 alias: qemu-boot-tests
Harrison Mutai521b3c82022-11-08 10:18:15 +0000210 current-parameters: true
211 kill-phase-on: NEVER
212 predefined-parameters: TEST_GROUPS=qemu-boot-tests
213 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600214 - multijob:
Manish Pandeyb5fcc442022-06-20 14:08:45 +0100215 name: Juno Boot Tests
216 condition: COMPLETED
217 projects:
218 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300219 alias: tf-l1-boot-tests-juno
Manish Pandeyb5fcc442022-06-20 14:08:45 +0100220 current-parameters: true
221 kill-phase-on: NEVER
222 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-juno
223 property-file: tf-a-env.param
224 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300225 alias: tf-l2-boot-tests-juno
Manish Pandeyb5fcc442022-06-20 14:08:45 +0100226 current-parameters: true
227 kill-phase-on: NEVER
228 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
229 property-file: tf-a-env.param
230 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300231 alias: tftf-l1-juno
Manish Pandeyb5fcc442022-06-20 14:08:45 +0100232 current-parameters: true
233 kill-phase-on: NEVER
234 predefined-parameters: TEST_GROUPS=tftf-l1-juno
235 property-file: tf-a-env.param
236 - multijob:
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600237 name: Miscellaneous tests
238 condition: COMPLETED
239 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600240 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300241 alias: tf-l3-boot-tests-css
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600242 current-parameters: true
243 kill-phase-on: NEVER
244 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
245 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600246 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300247 alias: tf-l3-boot-tests-spm-mm
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600248 current-parameters: true
249 kill-phase-on: NEVER
Leonardo Sandoval67ac6f12020-12-10 11:02:26 -0600250 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600251 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600252 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300253 alias: tf-l3-boot-tests-ras
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600254 current-parameters: true
255 kill-phase-on: NEVER
256 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
257 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600258 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300259 alias: tf-l3-boot-tests-misc
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600260 current-parameters: true
261 kill-phase-on: NEVER
262 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
263 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600264 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300265 alias: spm-l3-boot-tests
Leonardo Sandoval0e0ee892021-02-16 10:39:51 -0600266 current-parameters: true
267 kill-phase-on: NEVER
268 predefined-parameters: TEST_GROUPS=spm-l3-boot-tests
269 property-file: tf-a-env.param
Arthur Shee4fa0232022-11-03 21:05:20 -0700270 - name: tf-a-ci-gateway
Paul Sokolovsky77be8fa2023-01-14 09:34:55 +0300271 alias: tf-l1-boot-tests-plat
Arthur Shee4fa0232022-11-03 21:05:20 -0700272 current-parameters: true
273 kill-phase-on: NEVER
274 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-plat
275 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600276 - multijob:
277 name: Code coverage
278 condition: COMPLETED
279 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600280 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600281 current-parameters: true
282 kill-phase-on: NEVER
283 predefined-parameters: TEST_GROUPS=tf-l3-code-coverage
284 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600285 - multijob:
286 name: Run doc build check
287 condition: COMPLETED
288 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600289 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600290 current-parameters: true
291 kill-phase-on: NEVER
292 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
293 property-file: tf-a-env.param
Harrison Mutaiee250c72022-08-05 16:28:27 +0100294 - multijob:
Chris Kaydd569e62023-02-24 13:03:13 +0000295 name: Generate visualizations
296 condition: COMPLETED
297 projects:
298 - name: tf-a-sloc-visualization
299 current-parameters: true
300 kill-phase-on: NEVER
301 property-file: tf-a-env.param
302 - name: tf-a-test-category-visualization
303 current-parameters: true
304 kill-phase-on: NEVER
305 property-file: tf-a-env.param
306 - name: tf-a-test-result-visualization
307 current-parameters: true
308 kill-phase-on: NEVER
309 predefined-parameters: TARGET_BUILD=${JOB_NAME}/${BUILD_NUMBER}
310 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600311 # Run the unstable TF-A Tests at the end but do not let their results
312 # participate in the job's success/failure.
313 - trigger-builds:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600314 - project: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600315 current-parameters: True
316 property-file: tf-a-tests-env.param
317 property-file-fail-on-missing: True
318 predefined-parameters: TEST_GROUPS=tftf-unstable
319 block: True
320 block-thresholds:
321 build-step-failure-threshold: never
322 unstable-threshold: never
323 failure-threshold: never
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600324 # If all tests passed, catch up the master branch with integration
325 - conditional-step:
326 condition-kind: current-status
327 condition-best: SUCCESS
328 condition-worst: SUCCESS
329 steps:
Manish V Badarkheccb7c9e2023-01-05 15:58:21 +0000330 - shell: |-
331 #!/bin/bash
332 if [ $MULTIJOB_FAILED -eq 0 ]; then
333 echo "Proceed with integration->master fast-forward merge"
334 bash "${WORKSPACE}/tf-a-ci-scripts/script/scratch_scripts/fast-forward-master.sh"
335 else
336 echo "Do not proceed with integration->master merge as sub-jobs failed"
337 fi