blob: 7758f74e2e3fa94aea1976e7e7f54d42e43f8e44 [file] [log] [blame]
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +03001- job:
2 name: tf-a-lts2.8-main
Paul Sokolovsky209f6632023-06-01 20:34:54 +03003 node: docker-amd64-tf-a-lts2.8-jammy
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +03004 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.8'
25 - string:
26 name: TF_GERRIT_REFSPEC
27 default: '+refs/heads/lts-v2.8:refs/remotes/origin/lts-v2.8'
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.8'
34 - string:
35 name: TFTF_GERRIT_REFSPEC
36 default: '+refs/heads/lts-v2.8:refs/remotes/origin/lts-v2.8'
37 - string:
38 name: SPM_REFSPEC
39 default: 'v2.8'
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.8:refs/remotes/origin/lts-v2.8'
45 - string:
Paul Sokolovsky078b36d2023-05-31 23:34:25 +030046 name: MBEDTLS_URL
Govindraj Raja022c4db2023-10-10 16:42:04 -050047 default: 'https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-2.28.5.tar.gz'
Paul Sokolovsky078b36d2023-05-31 23:34:25 +030048 - string:
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +030049 name: SHARE_FOLDER
Paul Sokolovskycf79a522023-05-18 00:54:18 +030050 default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +030051 description: 'Folder containing shared repositories for downstream pipeline jobs'
52 triggers:
53 - timed: 'H H(0-7) * * 3,6'
54 wrappers:
55 - credentials-binding:
56 - ssh-user-private-key:
57 credential-id: TFA_CI_BOT_USER_SSH_KEY
58 key-file-variable: CI_BOT_KEY
59 username-variable: CI_BOT_USERNAME
60 passphrase-variable: ''
61 - workspace-cleanup
62 - timestamps
63 builders:
64 - shell:
65 !include-raw: scripts/clone.sh
66 - shell: |
67 #!/bin/bash
68 set -e
69 cat << EOF > tf-a-env.param
70 GERRIT_PROJECT=${TF_GERRIT_PROJECT}
71 GERRIT_BRANCH=${TF_GERRIT_BRANCH}
72 GERRIT_REFSPEC=${TF_GERRIT_REFSPEC}
73 QA_SERVER_PROJECT=${JOB_NAME}
74 QA_SERVER_VERSION=${BUILD_NUMBER}
75 SHARE_FOLDER=${SHARE_FOLDER}
76 EOF
77 cat << EOF > tf-a-tests-env.param
78 GERRIT_PROJECT=${TFTF_GERRIT_PROJECT}
79 GERRIT_BRANCH=${TFTF_GERRIT_BRANCH}
80 GERRIT_REFSPEC=${TFTF_GERRIT_REFSPEC}
81 QA_SERVER_PROJECT=${JOB_NAME}
82 QA_SERVER_VERSION=${BUILD_NUMBER}
83 SHARE_FOLDER=${SHARE_FOLDER}
84 EOF
85 - multijob:
86 name: Run static checks on the code
87 condition: COMPLETED
88 projects:
89 - name: tf-a-static-checks
90 current-parameters: true
91 kill-phase-on: NEVER
92 property-file: tf-a-env.param
93 - multijob:
94 name: Build Trusted Firmware
95 condition: COMPLETED
96 projects:
Paul Sokolovskye8d030d2023-06-01 21:30:44 +030097 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +030098 alias: tf-l1-build-fvp tf-l2-build-fvp
99 current-parameters: true
100 kill-phase-on: NEVER
101 predefined-parameters: |
102 TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp
103 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300104 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300105 alias: tf-l1-build-juno tf-l2-build-juno
106 current-parameters: true
107 kill-phase-on: NEVER
108 predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno
109 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300110 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300111 alias: tf-l1-build-plat
112 current-parameters: true
113 kill-phase-on: NEVER
114 predefined-parameters: TEST_GROUPS=tf-l1-build-plat
115 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300116 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300117 alias: tf-l1-build-clang
118 current-parameters: true
119 kill-phase-on: NEVER
120 predefined-parameters: TEST_GROUPS=tf-l1-build-clang
121 property-file: tf-a-env.param
122 - multijob:
123 name: TFTF Tests for FVP
124 condition: COMPLETED
125 projects:
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300126 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300127 alias: tftf-l2-fwu
128 current-parameters: true
129 kill-phase-on: NEVER
130 predefined-parameters: TEST_GROUPS=tftf-l2-fwu
131 property-file: tf-a-tests-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300132 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300133 alias: tftf-l1-fvp tftf-l2-fvp-auxiliary
134 current-parameters: true
135 kill-phase-on: NEVER
136 predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l2-fvp-auxiliary
137 property-file: tf-a-tests-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300138 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300139 alias: tftf-l2-fvp tftf-l2-fvp-dynamiq
140 current-parameters: true
141 kill-phase-on: NEVER
142 predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq
143 property-file: tf-a-tests-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300144 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300145 alias: tftf-l2-extensive-tests-fvp
146 current-parameters: true
147 kill-phase-on: NEVER
148 predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp
149 property-file: tf-a-tests-env.param
150 - multijob:
151 name: Boot up to the Linux shell prompt
152 condition: COMPLETED
153 projects:
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300154 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300155 alias: tf-l2-boot-tests-foundation
156 current-parameters: true
157 kill-phase-on: NEVER
158 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-foundation
159 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300160 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300161 alias: tf-l2-boot-tests-aarch32
162 current-parameters: true
163 kill-phase-on: NEVER
164 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
165 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300166 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300167 alias: tf-l2-boot-tests-rootfs
168 current-parameters: true
169 kill-phase-on: NEVER
170 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
171 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300172 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300173 alias: tf-l2-boot-tests-spm-mm
174 current-parameters: true
175 kill-phase-on: NEVER
176 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm
177 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300178 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300179 alias: spm-l2-boot-tests
180 current-parameters: true
181 kill-phase-on: NEVER
182 predefined-parameters: TEST_GROUPS=spm-l2-boot-tests
183 property-file: tf-a-env.param
184 - multijob:
185 name: Boot up to the Linux shell prompt - Part 2
186 condition: COMPLETED
187 projects:
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300188 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300189 alias: tf-l2-boot-tests-misc
190 current-parameters: true
191 kill-phase-on: NEVER
192 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
193 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300194 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300195 alias: tf-l2-boot-tests-latest
196 current-parameters: true
197 kill-phase-on: NEVER
198 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
199 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300200 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300201 alias: tf-l2-boot-tests-cortex
202 current-parameters: true
203 kill-phase-on: NEVER
204 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex
205 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300206 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300207 alias: tf-l2-boot-tests-gicv2
208 current-parameters: true
209 kill-phase-on: NEVER
210 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
211 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300212 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300213 alias: tf-l2-boot-tests-bl2_el3
214 current-parameters: true
215 kill-phase-on: NEVER
216 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3
217 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300218 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300219 alias: qemu-boot-tests
220 current-parameters: true
221 kill-phase-on: NEVER
222 predefined-parameters: TEST_GROUPS=qemu-boot-tests
223 property-file: tf-a-env.param
224 - multijob:
225 name: Juno Boot Tests
226 condition: COMPLETED
227 projects:
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300228 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300229 alias: tf-l1-boot-tests-juno
230 current-parameters: true
231 kill-phase-on: NEVER
232 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-juno
233 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300234 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300235 alias: tf-l2-boot-tests-juno
236 current-parameters: true
237 kill-phase-on: NEVER
238 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
239 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300240 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300241 alias: tftf-l1-juno
242 current-parameters: true
243 kill-phase-on: NEVER
244 predefined-parameters: TEST_GROUPS=tftf-l1-juno
245 property-file: tf-a-env.param
246 - multijob:
247 name: Miscellaneous tests
248 condition: COMPLETED
249 projects:
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300250 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300251 alias: tf-l3-boot-tests-css
252 current-parameters: true
253 kill-phase-on: NEVER
254 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
255 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300256 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300257 alias: tf-l3-boot-tests-spm-mm
258 current-parameters: true
259 kill-phase-on: NEVER
260 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm
261 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300262 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300263 alias: tf-l3-boot-tests-ras
264 current-parameters: true
265 kill-phase-on: NEVER
266 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
267 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300268 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300269 alias: tf-l3-boot-tests-misc
270 current-parameters: true
271 kill-phase-on: NEVER
272 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
273 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300274 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300275 alias: spm-l3-boot-tests
276 current-parameters: true
277 kill-phase-on: NEVER
278 predefined-parameters: TEST_GROUPS=spm-l3-boot-tests
279 property-file: tf-a-env.param
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300280 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300281 alias: tf-l1-boot-tests-plat
282 current-parameters: true
283 kill-phase-on: NEVER
284 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-plat
285 property-file: tf-a-env.param
286 - multijob:
287 name: Code coverage
288 condition: COMPLETED
289 projects:
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300290 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300291 current-parameters: true
292 kill-phase-on: NEVER
293 predefined-parameters: TEST_GROUPS=tf-l3-code-coverage
294 property-file: tf-a-env.param
295 - multijob:
296 name: Run doc build check
297 condition: COMPLETED
298 projects:
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300299 - name: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300300 current-parameters: true
301 kill-phase-on: NEVER
302 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
303 property-file: tf-a-env.param
304 - multijob:
305 name: Generate visualizations
306 condition: COMPLETED
307 projects:
308# - name: tf-a-sloc-visualization
309# current-parameters: true
310# kill-phase-on: NEVER
311# property-file: tf-a-env.param
312# - name: tf-a-test-category-visualization
313# current-parameters: true
314# kill-phase-on: NEVER
315# property-file: tf-a-env.param
316 - name: tf-a-test-result-visualization
317 current-parameters: true
318 kill-phase-on: NEVER
319 predefined-parameters: TARGET_BUILD=${JOB_NAME}/${BUILD_NUMBER}
320 property-file: tf-a-env.param
321 # Run the unstable TF-A Tests at the end but do not let their results
322 # participate in the job's success/failure.
323 - trigger-builds:
Paul Sokolovskye8d030d2023-06-01 21:30:44 +0300324 - project: tf-a-lts2.8-ci-gateway
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +0300325 current-parameters: True
326 property-file: tf-a-tests-env.param
327 property-file-fail-on-missing: True
328 predefined-parameters: TEST_GROUPS=tftf-unstable
329 block: True
330 block-thresholds:
331 build-step-failure-threshold: never
332 unstable-threshold: never
333 failure-threshold: never
334 # If all tests passed, catch up the master branch with integration
335# - conditional-step:
336# condition-kind: current-status
337# condition-best: SUCCESS
338# condition-worst: SUCCESS
339# steps:
340# - shell: |-
341# #!/bin/bash
342# if [ $MULTIJOB_FAILED -eq 0 ]; then
343# echo "Proceed with integration->master fast-forward merge"
344# bash "${WORKSPACE}/tf-a-ci-scripts/script/scratch_scripts/fast-forward-master.sh"
345# else
346# echo "Do not proceed with integration->master merge as sub-jobs failed"
347# fi
348 publishers:
349 - email:
350 recipients: okash@google.com, paul.sokolovsky@linaro.org, bipin.ravi@arm.com, vwadekar@nvidia.com, joanna.farley@arm.com