blob: 3779f5589f82f53e4fb64a4471fa0b42c8370ba5 [file] [log] [blame]
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -06001- job:
Leonardo Sandovalffaee982021-11-11 10:27:57 -06002 name: tf-a-main
Leonardo Sandovald1b6b5a2021-09-13 12:06:26 -05003 node: docker-amd64-tf-a-bionic
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
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060088 current-parameters: true
89 kill-phase-on: NEVER
90 predefined-parameters: |
91 TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp
92 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -060093 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060094 current-parameters: true
95 kill-phase-on: NEVER
96 predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno
97 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -060098 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060099 current-parameters: true
100 kill-phase-on: NEVER
101 predefined-parameters: TEST_GROUPS=tf-l1-build-plat
102 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600103 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600104 current-parameters: true
105 kill-phase-on: NEVER
106 predefined-parameters: TEST_GROUPS=tf-l1-build-clang
107 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600108 - multijob:
Manish Pandeyb5fcc442022-06-20 14:08:45 +0100109 name: TFTF Tests for FVP
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600110 condition: COMPLETED
111 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600112 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600113 current-parameters: true
114 kill-phase-on: NEVER
115 predefined-parameters: TEST_GROUPS=tftf-l2-fwu
116 property-file: tf-a-tests-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600117 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600118 current-parameters: true
119 kill-phase-on: NEVER
Manish Pandeyb5fcc442022-06-20 14:08:45 +0100120 predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l2-fvp-auxiliary
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600121 property-file: tf-a-tests-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600122 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600123 current-parameters: true
124 kill-phase-on: NEVER
125 predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq
126 property-file: tf-a-tests-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600127 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600128 current-parameters: true
129 kill-phase-on: NEVER
130 predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp
131 property-file: tf-a-tests-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600132 - multijob:
133 name: Boot up to the Linux shell prompt
134 condition: COMPLETED
135 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600136 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600137 current-parameters: true
138 kill-phase-on: NEVER
139 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-foundation
140 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600141 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600142 current-parameters: true
143 kill-phase-on: NEVER
144 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
145 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600146 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600147 current-parameters: true
148 kill-phase-on: NEVER
149 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
150 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600151 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600152 current-parameters: true
153 kill-phase-on: NEVER
Leonardo Sandoval67ac6f12020-12-10 11:02:26 -0600154 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600155 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600156 - name: tf-a-ci-gateway
Leonardo Sandoval0e0ee892021-02-16 10:39:51 -0600157 current-parameters: true
158 kill-phase-on: NEVER
159 predefined-parameters: TEST_GROUPS=spm-l2-boot-tests
160 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600161 - multijob:
162 name: Boot up to the Linux shell prompt - Part 2
163 condition: COMPLETED
164 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600165 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600166 current-parameters: true
167 kill-phase-on: NEVER
168 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
169 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600170 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600171 current-parameters: true
172 kill-phase-on: NEVER
173 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
174 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600175 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600176 current-parameters: true
177 kill-phase-on: NEVER
178 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex
179 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600180 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600181 current-parameters: true
182 kill-phase-on: NEVER
183 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
184 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600185 - name: tf-a-ci-gateway
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-bl2_el3
189 property-file: tf-a-env.param
Harrison Mutai521b3c82022-11-08 10:18:15 +0000190 - name: tf-a-ci-gateway
191 current-parameters: true
192 kill-phase-on: NEVER
193 predefined-parameters: TEST_GROUPS=qemu-boot-tests
194 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600195 - multijob:
Manish Pandeyb5fcc442022-06-20 14:08:45 +0100196 name: Juno Boot Tests
197 condition: COMPLETED
198 projects:
199 - name: tf-a-ci-gateway
200 current-parameters: true
201 kill-phase-on: NEVER
202 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-juno
203 property-file: tf-a-env.param
204 - name: tf-a-ci-gateway
205 current-parameters: true
206 kill-phase-on: NEVER
207 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
208 property-file: tf-a-env.param
209 - name: tf-a-ci-gateway
210 current-parameters: true
211 kill-phase-on: NEVER
212 predefined-parameters: TEST_GROUPS=tftf-l1-juno
213 property-file: tf-a-env.param
214 - multijob:
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600215 name: Miscellaneous tests
216 condition: COMPLETED
217 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600218 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600219 current-parameters: true
220 kill-phase-on: NEVER
221 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
222 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600223 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600224 current-parameters: true
225 kill-phase-on: NEVER
Leonardo Sandoval67ac6f12020-12-10 11:02:26 -0600226 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600227 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600228 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600229 current-parameters: true
230 kill-phase-on: NEVER
231 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
232 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600233 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600234 current-parameters: true
235 kill-phase-on: NEVER
236 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
237 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600238 - name: tf-a-ci-gateway
Leonardo Sandoval0e0ee892021-02-16 10:39:51 -0600239 current-parameters: true
240 kill-phase-on: NEVER
241 predefined-parameters: TEST_GROUPS=spm-l3-boot-tests
242 property-file: tf-a-env.param
Arthur Shee4fa0232022-11-03 21:05:20 -0700243 - name: tf-a-ci-gateway
244 current-parameters: true
245 kill-phase-on: NEVER
246 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-plat
247 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600248 - multijob:
249 name: Code coverage
250 condition: COMPLETED
251 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600252 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600253 current-parameters: true
254 kill-phase-on: NEVER
255 predefined-parameters: TEST_GROUPS=tf-l3-code-coverage
256 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600257 - multijob:
258 name: Run doc build check
259 condition: COMPLETED
260 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600261 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600262 current-parameters: true
263 kill-phase-on: NEVER
264 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
265 property-file: tf-a-env.param
Harrison Mutaiee250c72022-08-05 16:28:27 +0100266 - multijob:
267 name: Generate visualizations
268 condition: COMPLETED
269 projects:
Chris Kay9bd277b2022-09-07 10:12:42 +0100270# - name: tf-a-sloc-visualization
271# current-parameters: true
272# kill-phase-on: NEVER
273# property-file: tf-a-env.param
274# - name: tf-a-test-category-visualization
275# current-parameters: true
276# kill-phase-on: NEVER
277# property-file: tf-a-env.param
Harrison Mutaiee250c72022-08-05 16:28:27 +0100278 - name: tf-a-test-result-visualization
279 current-parameters: true
280 kill-phase-on: NEVER
281 predefined-parameters: TARGET_BUILD=${JOB_NAME}/${BUILD_NUMBER}
282 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600283 # Run the unstable TF-A Tests at the end but do not let their results
284 # participate in the job's success/failure.
285 - trigger-builds:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600286 - project: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600287 current-parameters: True
288 property-file: tf-a-tests-env.param
289 property-file-fail-on-missing: True
290 predefined-parameters: TEST_GROUPS=tftf-unstable
291 block: True
292 block-thresholds:
293 build-step-failure-threshold: never
294 unstable-threshold: never
295 failure-threshold: never
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600296 # If all tests passed, catch up the master branch with integration
297 - conditional-step:
298 condition-kind: current-status
299 condition-best: SUCCESS
300 condition-worst: SUCCESS
301 steps:
Paul Sokolovskya0aceed2022-01-21 19:27:55 +0300302 - shell: bash "${WORKSPACE}/tf-a-ci-scripts/script/scratch_scripts/fast-forward-master.sh"