blob: 81632e468a51ce6ab2b0c6e316938c779e6f714d [file] [log] [blame]
Paul Sokolovsky61423722024-02-01 00:36:34 +07001- job:
2 name: tf-a-lts2.10-main
Paul Sokolovsky6067c522024-02-07 13:48:17 +07003 node: docker-amd64-tf-a-lts2.10-jammy
Paul Sokolovsky61423722024-02-01 00:36:34 +07004 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:
14 days-to-keep: 60
15 num-to-keep: 30
16 - authorization:
17 !include: authorization.yaml.inc
18 parameters:
19 - string:
20 name: TF_GERRIT_PROJECT
21 default: 'TF-A/trusted-firmware-a'
22 - string:
23 name: TF_GERRIT_BRANCH
24 default: 'refs/heads/lts-v2.10'
25 - string:
26 name: TF_GERRIT_REFSPEC
27 default: '+refs/heads/lts-v2.10:refs/remotes/origin/lts-v2.10'
28 - string:
29 name: TFTF_GERRIT_PROJECT
30 default: 'TF-A/tf-a-tests'
31 - string:
32 name: TFTF_GERRIT_BRANCH
33 default: 'refs/heads/lts-v2.10'
34 - string:
35 name: TFTF_GERRIT_REFSPEC
36 default: '+refs/heads/lts-v2.10:refs/remotes/origin/lts-v2.10'
37 - string:
38 name: SPM_REFSPEC
39 default: 'v2.10'
40 description: |
41 SPM(Hafnium) refspec to use. The master branch is used by default.
42 - string:
43 name: CI_REFSPEC
44 default: '+refs/heads/lts-v2.10:refs/remotes/origin/lts-v2.10'
45 - string:
46 name: MBEDTLS_URL
47 default: 'https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.4.1.tar.gz'
48 - string:
49 name: LAVA_RETRIES
50 default: 2
51 description: |
52 Number of tries submitting job to LAVA in case it fails (stopgap measure against nondeterministic failures)
53 - string:
54 name: USE_TUXSUITE_FVP
55 default: 1
56 description: |
57 Whether to submit FVP tests via TuxSuite (instead of LAVA)
58 - string:
59 name: SHARE_FOLDER
60 default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
61 description: 'Folder containing shared repositories for downstream pipeline jobs'
62 triggers:
63 - timed: 'H H(0-7) * * 4,7'
64 wrappers:
65 - credentials-binding:
66 - ssh-user-private-key:
67 credential-id: TFA_CI_BOT_USER_SSH_KEY
68 key-file-variable: CI_BOT_KEY
69 username-variable: CI_BOT_USERNAME
70 passphrase-variable: ''
71 - workspace-cleanup
72 - timestamps
73 builders:
74 - shell:
75 !include-raw: scripts/clone.sh
76 - shell: |
77 #!/bin/bash
78 set -e
79 cat << EOF > tf-a-env.param
80 GERRIT_PROJECT=${TF_GERRIT_PROJECT}
81 GERRIT_BRANCH=${TF_GERRIT_BRANCH}
82 GERRIT_REFSPEC=${TF_GERRIT_REFSPEC}
83 QA_SERVER_PROJECT=${JOB_NAME}
84 QA_SERVER_VERSION=${BUILD_NUMBER}
85 SHARE_FOLDER=${SHARE_FOLDER}
86 EOF
87 cat << EOF > tf-a-tests-env.param
88 GERRIT_PROJECT=${TFTF_GERRIT_PROJECT}
89 GERRIT_BRANCH=${TFTF_GERRIT_BRANCH}
90 GERRIT_REFSPEC=${TFTF_GERRIT_REFSPEC}
91 QA_SERVER_PROJECT=${JOB_NAME}
92 QA_SERVER_VERSION=${BUILD_NUMBER}
93 SHARE_FOLDER=${SHARE_FOLDER}
94 EOF
95 - multijob:
96 name: Run static checks on the code
97 condition: COMPLETED
98 projects:
99 - name: tf-a-static-checks
100 current-parameters: true
101 kill-phase-on: NEVER
102 property-file: tf-a-env.param
103 - multijob:
104 name: Build Trusted Firmware
105 condition: COMPLETED
106 projects:
107 - name: tf-a-lts2.10-ci-gateway
108 alias: tf-l1-build-fvp tf-l2-build-fvp
109 current-parameters: true
110 kill-phase-on: NEVER
111 predefined-parameters: |
112 TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp
113 property-file: tf-a-env.param
114 - name: tf-a-lts2.10-ci-gateway
115 alias: tf-l1-build-juno tf-l2-build-juno
116 current-parameters: true
117 kill-phase-on: NEVER
118 predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno
119 property-file: tf-a-env.param
120 - name: tf-a-lts2.10-ci-gateway
121 alias: tf-l1-build-plat
122 current-parameters: true
123 kill-phase-on: NEVER
124 predefined-parameters: TEST_GROUPS=tf-l1-build-plat
125 property-file: tf-a-env.param
126 - name: tf-a-lts2.10-ci-gateway
127 alias: tf-l1-build-clang
128 current-parameters: true
129 kill-phase-on: NEVER
130 predefined-parameters: TEST_GROUPS=tf-l1-build-clang
131 property-file: tf-a-env.param
132 - multijob:
133 name: TFTF Tests for FVP
134 condition: COMPLETED
135 projects:
136 - name: tf-a-lts2.10-ci-gateway
137 alias: tftf-l2-fwu
138 current-parameters: true
139 kill-phase-on: NEVER
140 predefined-parameters: TEST_GROUPS=tftf-l2-fwu
141 property-file: tf-a-tests-env.param
142 - name: tf-a-lts2.10-ci-gateway
143 alias: tftf-l1-fvp tftf-l2-fvp-auxiliary
144 current-parameters: true
145 kill-phase-on: NEVER
146 predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l2-fvp-auxiliary
147 property-file: tf-a-tests-env.param
148 - name: tf-a-lts2.10-ci-gateway
149 alias: tftf-l2-fvp tftf-l2-fvp-dynamiq
150 current-parameters: true
151 kill-phase-on: NEVER
152 predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq
153 property-file: tf-a-tests-env.param
154 - name: tf-a-lts2.10-ci-gateway
155 alias: tftf-l2-extensive-tests-fvp
156 current-parameters: true
157 kill-phase-on: NEVER
158 predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp
159 property-file: tf-a-tests-env.param
160 - multijob:
161 name: Boot up to the Linux shell prompt
162 condition: COMPLETED
163 projects:
164 - name: tf-a-lts2.10-ci-gateway
165 alias: tf-l2-boot-tests-foundation
166 current-parameters: true
167 kill-phase-on: NEVER
168 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-foundation
169 property-file: tf-a-env.param
170 - name: tf-a-lts2.10-ci-gateway
171 alias: tf-l2-boot-tests-aarch32
172 current-parameters: true
173 kill-phase-on: NEVER
174 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
175 property-file: tf-a-env.param
176 - name: tf-a-lts2.10-ci-gateway
177 alias: tf-l2-boot-tests-rootfs
178 current-parameters: true
179 kill-phase-on: NEVER
180 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
181 property-file: tf-a-env.param
182 - name: tf-a-lts2.10-ci-gateway
183 alias: tf-l2-boot-tests-spm-mm
184 current-parameters: true
185 kill-phase-on: NEVER
186 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm
187 property-file: tf-a-env.param
188 - name: tf-a-lts2.10-ci-gateway
189 alias: spm-l2-boot-tests
190 current-parameters: true
191 kill-phase-on: NEVER
192 predefined-parameters: TEST_GROUPS=spm-l2-boot-tests
193 property-file: tf-a-env.param
194 - name: tf-a-lts2.10-ci-gateway
195 alias: tf-l1-boot-tests-misc
196 current-parameters: true
197 kill-phase-on: NEVER
198 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-misc
199 property-file: tf-a-env.param
200 - multijob:
201 name: Boot up to the Linux shell prompt - Part 2
202 condition: COMPLETED
203 projects:
204 - name: tf-a-lts2.10-ci-gateway
205 alias: tf-l2-boot-tests-misc
206 current-parameters: true
207 kill-phase-on: NEVER
208 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
209 property-file: tf-a-env.param
210 - name: tf-a-lts2.10-ci-gateway
211 alias: tf-l2-boot-tests-latest
212 current-parameters: true
213 kill-phase-on: NEVER
214 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
215 property-file: tf-a-env.param
216 - name: tf-a-lts2.10-ci-gateway
217 alias: tf-l2-boot-tests-cortex
218 current-parameters: true
219 kill-phase-on: NEVER
220 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex
221 property-file: tf-a-env.param
222 - name: tf-a-lts2.10-ci-gateway
223 alias: tf-l2-boot-tests-gicv2
224 current-parameters: true
225 kill-phase-on: NEVER
226 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
227 property-file: tf-a-env.param
228 - name: tf-a-lts2.10-ci-gateway
229 alias: tf-l2-boot-tests-bl2_el3
230 current-parameters: true
231 kill-phase-on: NEVER
232 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3
233 property-file: tf-a-env.param
234 - name: tf-a-lts2.10-ci-gateway
235 alias: qemu-boot-tests
236 current-parameters: true
237 kill-phase-on: NEVER
238 predefined-parameters: TEST_GROUPS=qemu-boot-tests
239 property-file: tf-a-env.param
240 - multijob:
241 name: Juno Boot Tests
242 condition: COMPLETED
243 projects:
244 - name: tf-a-lts2.10-ci-gateway
245 alias: tf-l1-boot-tests-juno
246 current-parameters: true
247 kill-phase-on: NEVER
248 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-juno
249 property-file: tf-a-env.param
250 - name: tf-a-lts2.10-ci-gateway
251 alias: tf-l2-boot-tests-juno
252 current-parameters: true
253 kill-phase-on: NEVER
254 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
255 property-file: tf-a-env.param
256 - name: tf-a-lts2.10-ci-gateway
257 alias: tftf-l1-juno
258 current-parameters: true
259 kill-phase-on: NEVER
260 predefined-parameters: TEST_GROUPS=tftf-l1-juno
261 property-file: tf-a-env.param
262 - multijob:
263 name: Miscellaneous tests
264 condition: COMPLETED
265 projects:
266 - name: tf-a-lts2.10-ci-gateway
267 alias: tf-l3-boot-tests-css
268 current-parameters: true
269 kill-phase-on: NEVER
270 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
271 property-file: tf-a-env.param
272 - name: tf-a-lts2.10-ci-gateway
273 alias: tf-l3-boot-tests-spm-mm
274 current-parameters: true
275 kill-phase-on: NEVER
276 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm
277 property-file: tf-a-env.param
278 - name: tf-a-lts2.10-ci-gateway
279 alias: tf-l3-boot-tests-ras
280 current-parameters: true
281 kill-phase-on: NEVER
282 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
283 property-file: tf-a-env.param
284 - name: tf-a-lts2.10-ci-gateway
285 alias: tf-l3-boot-tests-misc
286 current-parameters: true
287 kill-phase-on: NEVER
288 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
289 property-file: tf-a-env.param
290 - name: tf-a-lts2.10-ci-gateway
291 alias: tf-l3-boot-tests-n1sdp
292 current-parameters: true
293 kill-phase-on: NEVER
294 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-n1sdp
295 property-file: tf-a-env.param
296 - name: tf-a-lts2.10-ci-gateway
297 alias: spm-l3-boot-tests
298 current-parameters: true
299 kill-phase-on: NEVER
300 predefined-parameters: TEST_GROUPS=spm-l3-boot-tests
301 property-file: tf-a-env.param
302 - name: tf-a-lts2.10-ci-gateway
303 alias: tf-l1-boot-tests-plat
304 current-parameters: true
305 kill-phase-on: NEVER
306 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-plat
307 property-file: tf-a-env.param
308 # Platform-specific self-tests.
309 # These tests run from the BL31 image then halt the target.
310 - name: tf-a-lts2.10-ci-gateway
311 alias: tf-plat-tests
312 current-parameters: true
313 kill-phase-on: NEVER
314 predefined-parameters: TEST_GROUPS=tf-plat-tests
315 property-file: tf-a-env.param
316 - multijob:
317 name: Code coverage
318 condition: COMPLETED
319 projects:
320 - name: tf-a-lts2.10-ci-gateway
321 alias: tf-l3-code-coverage
322 current-parameters: true
323 kill-phase-on: NEVER
324 predefined-parameters: TEST_GROUPS=tf-l3-code-coverage
325 property-file: tf-a-env.param
326 - multijob:
327 name: Run doc build check
328 condition: COMPLETED
329 projects:
330 - name: tf-a-lts2.10-ci-gateway
331 alias: tf-l1-check-docs
332 current-parameters: true
333 kill-phase-on: NEVER
334 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
335 property-file: tf-a-env.param
336 - multijob:
337 name: Generate visualizations
338 condition: COMPLETED
339 projects:
340 - name: tf-a-sloc-visualization
341 current-parameters: true
342 kill-phase-on: NEVER
343 property-file: tf-a-env.param
344 - name: tf-a-test-category-visualization
345 current-parameters: true
346 kill-phase-on: NEVER
347 property-file: tf-a-env.param
348 - name: tf-a-test-result-visualization
349 current-parameters: true
350 kill-phase-on: NEVER
351 predefined-parameters: TARGET_BUILD=${JOB_NAME}/${BUILD_NUMBER}
352 property-file: tf-a-env.param
353 # Run the unstable TF-A Tests at the end but do not let their results
354 # participate in the job's success/failure.
355 - trigger-builds:
356 - project: tf-a-lts2.10-ci-gateway
357 current-parameters: True
358 property-file: tf-a-tests-env.param
359 property-file-fail-on-missing: True
360 predefined-parameters: TEST_GROUPS=tftf-unstable
361 block: True
362 block-thresholds:
363 build-step-failure-threshold: never
364 unstable-threshold: never
365 failure-threshold: never
366 # If all tests passed, catch up the master branch with integration
367# - conditional-step:
368# condition-kind: current-status
369# condition-best: SUCCESS
370# condition-worst: SUCCESS
371# steps:
372# - shell: |-
373# #!/bin/bash
374# if [ $MULTIJOB_FAILED -eq 0 ]; then
375# echo "Proceed with integration->master fast-forward merge"
376# bash "${WORKSPACE}/tf-a-ci-scripts/script/scratch_scripts/fast-forward-master.sh"
377# else
378# echo "Do not proceed with integration->master merge as sub-jobs failed"
379# fi
380 publishers:
381 - email:
382 recipients: okash@google.com, paul.sokolovsky@linaro.org, bipin.ravi@arm.com, vwadekar@nvidia.com, joanna.farley@arm.com