blob: 543da40c6f645a812e2fa4de67ff9e43d720df68 [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
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600190 - multijob:
Manish Pandeyb5fcc442022-06-20 14:08:45 +0100191 name: Juno Boot Tests
192 condition: COMPLETED
193 projects:
194 - name: tf-a-ci-gateway
195 current-parameters: true
196 kill-phase-on: NEVER
197 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-juno
198 property-file: tf-a-env.param
199 - name: tf-a-ci-gateway
200 current-parameters: true
201 kill-phase-on: NEVER
202 predefined-parameters: TEST_GROUPS=tf-l2-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=tftf-l1-juno
208 property-file: tf-a-env.param
209 - multijob:
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600210 name: Miscellaneous tests
211 condition: COMPLETED
212 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600213 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600214 current-parameters: true
215 kill-phase-on: NEVER
216 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
217 property-file: tf-a-env.param
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
Leonardo Sandoval67ac6f12020-12-10 11:02:26 -0600221 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600222 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
226 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
227 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-misc
232 property-file: tf-a-env.param
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600233 - name: tf-a-ci-gateway
Leonardo Sandoval0e0ee892021-02-16 10:39:51 -0600234 current-parameters: true
235 kill-phase-on: NEVER
236 predefined-parameters: TEST_GROUPS=spm-l3-boot-tests
237 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600238 - multijob:
239 name: Code coverage
240 condition: COMPLETED
241 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600242 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600243 current-parameters: true
244 kill-phase-on: NEVER
245 predefined-parameters: TEST_GROUPS=tf-l3-code-coverage
246 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600247 - multijob:
248 name: Run doc build check
249 condition: COMPLETED
250 projects:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600251 - name: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600252 current-parameters: true
253 kill-phase-on: NEVER
254 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
255 property-file: tf-a-env.param
Harrison Mutaiee250c72022-08-05 16:28:27 +0100256 - multijob:
257 name: Generate visualizations
258 condition: COMPLETED
259 projects:
Chris Kay9bd277b2022-09-07 10:12:42 +0100260# - name: tf-a-sloc-visualization
261# current-parameters: true
262# kill-phase-on: NEVER
263# property-file: tf-a-env.param
264# - name: tf-a-test-category-visualization
265# current-parameters: true
266# kill-phase-on: NEVER
267# property-file: tf-a-env.param
Harrison Mutaiee250c72022-08-05 16:28:27 +0100268 - name: tf-a-test-result-visualization
269 current-parameters: true
270 kill-phase-on: NEVER
271 predefined-parameters: TARGET_BUILD=${JOB_NAME}/${BUILD_NUMBER}
272 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600273 # Run the unstable TF-A Tests at the end but do not let their results
274 # participate in the job's success/failure.
275 - trigger-builds:
Leonardo Sandovalffaee982021-11-11 10:27:57 -0600276 - project: tf-a-ci-gateway
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600277 current-parameters: True
278 property-file: tf-a-tests-env.param
279 property-file-fail-on-missing: True
280 predefined-parameters: TEST_GROUPS=tftf-unstable
281 block: True
282 block-thresholds:
283 build-step-failure-threshold: never
284 unstable-threshold: never
285 failure-threshold: never
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600286 # If all tests passed, catch up the master branch with integration
287 - conditional-step:
288 condition-kind: current-status
289 condition-best: SUCCESS
290 condition-worst: SUCCESS
291 steps:
Paul Sokolovskya0aceed2022-01-21 19:27:55 +0300292 - shell: bash "${WORKSPACE}/tf-a-ci-scripts/script/scratch_scripts/fast-forward-master.sh"