blob: 4c5b8489495489c6b44ce155ddcbfa0c8d7cde76 [file] [log] [blame]
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +03001- job:
2 name: tf-a-lts2.8-main
3 node: docker-amd64-tf-a-jammy
4 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:
46 name: SHARE_FOLDER
Paul Sokolovskycf79a522023-05-18 00:54:18 +030047 default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
Paul Sokolovsky04b2e1f2023-05-18 00:45:31 +030048 description: 'Folder containing shared repositories for downstream pipeline jobs'
49 triggers:
50 - timed: 'H H(0-7) * * 3,6'
51 wrappers:
52 - credentials-binding:
53 - ssh-user-private-key:
54 credential-id: TFA_CI_BOT_USER_SSH_KEY
55 key-file-variable: CI_BOT_KEY
56 username-variable: CI_BOT_USERNAME
57 passphrase-variable: ''
58 - workspace-cleanup
59 - timestamps
60 builders:
61 - shell:
62 !include-raw: scripts/clone.sh
63 - shell: |
64 #!/bin/bash
65 set -e
66 cat << EOF > tf-a-env.param
67 GERRIT_PROJECT=${TF_GERRIT_PROJECT}
68 GERRIT_BRANCH=${TF_GERRIT_BRANCH}
69 GERRIT_REFSPEC=${TF_GERRIT_REFSPEC}
70 QA_SERVER_PROJECT=${JOB_NAME}
71 QA_SERVER_VERSION=${BUILD_NUMBER}
72 SHARE_FOLDER=${SHARE_FOLDER}
73 EOF
74 cat << EOF > tf-a-tests-env.param
75 GERRIT_PROJECT=${TFTF_GERRIT_PROJECT}
76 GERRIT_BRANCH=${TFTF_GERRIT_BRANCH}
77 GERRIT_REFSPEC=${TFTF_GERRIT_REFSPEC}
78 QA_SERVER_PROJECT=${JOB_NAME}
79 QA_SERVER_VERSION=${BUILD_NUMBER}
80 SHARE_FOLDER=${SHARE_FOLDER}
81 EOF
82 - multijob:
83 name: Run static checks on the code
84 condition: COMPLETED
85 projects:
86 - name: tf-a-static-checks
87 current-parameters: true
88 kill-phase-on: NEVER
89 property-file: tf-a-env.param
90 - multijob:
91 name: Build Trusted Firmware
92 condition: COMPLETED
93 projects:
94 - name: tf-a-ci-gateway
95 alias: tf-l1-build-fvp tf-l2-build-fvp
96 current-parameters: true
97 kill-phase-on: NEVER
98 predefined-parameters: |
99 TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp
100 property-file: tf-a-env.param
101 - name: tf-a-ci-gateway
102 alias: tf-l1-build-juno tf-l2-build-juno
103 current-parameters: true
104 kill-phase-on: NEVER
105 predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno
106 property-file: tf-a-env.param
107 - name: tf-a-ci-gateway
108 alias: tf-l1-build-plat
109 current-parameters: true
110 kill-phase-on: NEVER
111 predefined-parameters: TEST_GROUPS=tf-l1-build-plat
112 property-file: tf-a-env.param
113 - name: tf-a-ci-gateway
114 alias: tf-l1-build-clang
115 current-parameters: true
116 kill-phase-on: NEVER
117 predefined-parameters: TEST_GROUPS=tf-l1-build-clang
118 property-file: tf-a-env.param
119 - multijob:
120 name: TFTF Tests for FVP
121 condition: COMPLETED
122 projects:
123 - name: tf-a-ci-gateway
124 alias: tftf-l2-fwu
125 current-parameters: true
126 kill-phase-on: NEVER
127 predefined-parameters: TEST_GROUPS=tftf-l2-fwu
128 property-file: tf-a-tests-env.param
129 - name: tf-a-ci-gateway
130 alias: tftf-l1-fvp tftf-l2-fvp-auxiliary
131 current-parameters: true
132 kill-phase-on: NEVER
133 predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l2-fvp-auxiliary
134 property-file: tf-a-tests-env.param
135 - name: tf-a-ci-gateway
136 alias: tftf-l2-fvp tftf-l2-fvp-dynamiq
137 current-parameters: true
138 kill-phase-on: NEVER
139 predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq
140 property-file: tf-a-tests-env.param
141 - name: tf-a-ci-gateway
142 alias: tftf-l2-extensive-tests-fvp
143 current-parameters: true
144 kill-phase-on: NEVER
145 predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp
146 property-file: tf-a-tests-env.param
147 - multijob:
148 name: Boot up to the Linux shell prompt
149 condition: COMPLETED
150 projects:
151 - name: tf-a-ci-gateway
152 alias: tf-l2-boot-tests-foundation
153 current-parameters: true
154 kill-phase-on: NEVER
155 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-foundation
156 property-file: tf-a-env.param
157 - name: tf-a-ci-gateway
158 alias: tf-l2-boot-tests-aarch32
159 current-parameters: true
160 kill-phase-on: NEVER
161 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
162 property-file: tf-a-env.param
163 - name: tf-a-ci-gateway
164 alias: tf-l2-boot-tests-rootfs
165 current-parameters: true
166 kill-phase-on: NEVER
167 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
168 property-file: tf-a-env.param
169 - name: tf-a-ci-gateway
170 alias: tf-l2-boot-tests-spm-mm
171 current-parameters: true
172 kill-phase-on: NEVER
173 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm
174 property-file: tf-a-env.param
175 - name: tf-a-ci-gateway
176 alias: spm-l2-boot-tests
177 current-parameters: true
178 kill-phase-on: NEVER
179 predefined-parameters: TEST_GROUPS=spm-l2-boot-tests
180 property-file: tf-a-env.param
181 - multijob:
182 name: Boot up to the Linux shell prompt - Part 2
183 condition: COMPLETED
184 projects:
185 - name: tf-a-ci-gateway
186 alias: tf-l2-boot-tests-misc
187 current-parameters: true
188 kill-phase-on: NEVER
189 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
190 property-file: tf-a-env.param
191 - name: tf-a-ci-gateway
192 alias: tf-l2-boot-tests-latest
193 current-parameters: true
194 kill-phase-on: NEVER
195 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
196 property-file: tf-a-env.param
197 - name: tf-a-ci-gateway
198 alias: tf-l2-boot-tests-cortex
199 current-parameters: true
200 kill-phase-on: NEVER
201 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex
202 property-file: tf-a-env.param
203 - name: tf-a-ci-gateway
204 alias: tf-l2-boot-tests-gicv2
205 current-parameters: true
206 kill-phase-on: NEVER
207 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
208 property-file: tf-a-env.param
209 - name: tf-a-ci-gateway
210 alias: tf-l2-boot-tests-bl2_el3
211 current-parameters: true
212 kill-phase-on: NEVER
213 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3
214 property-file: tf-a-env.param
215 - name: tf-a-ci-gateway
216 alias: qemu-boot-tests
217 current-parameters: true
218 kill-phase-on: NEVER
219 predefined-parameters: TEST_GROUPS=qemu-boot-tests
220 property-file: tf-a-env.param
221 - multijob:
222 name: Juno Boot Tests
223 condition: COMPLETED
224 projects:
225 - name: tf-a-ci-gateway
226 alias: tf-l1-boot-tests-juno
227 current-parameters: true
228 kill-phase-on: NEVER
229 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-juno
230 property-file: tf-a-env.param
231 - name: tf-a-ci-gateway
232 alias: tf-l2-boot-tests-juno
233 current-parameters: true
234 kill-phase-on: NEVER
235 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
236 property-file: tf-a-env.param
237 - name: tf-a-ci-gateway
238 alias: tftf-l1-juno
239 current-parameters: true
240 kill-phase-on: NEVER
241 predefined-parameters: TEST_GROUPS=tftf-l1-juno
242 property-file: tf-a-env.param
243 - multijob:
244 name: Miscellaneous tests
245 condition: COMPLETED
246 projects:
247 - name: tf-a-ci-gateway
248 alias: tf-l3-boot-tests-css
249 current-parameters: true
250 kill-phase-on: NEVER
251 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
252 property-file: tf-a-env.param
253 - name: tf-a-ci-gateway
254 alias: tf-l3-boot-tests-spm-mm
255 current-parameters: true
256 kill-phase-on: NEVER
257 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm
258 property-file: tf-a-env.param
259 - name: tf-a-ci-gateway
260 alias: tf-l3-boot-tests-ras
261 current-parameters: true
262 kill-phase-on: NEVER
263 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
264 property-file: tf-a-env.param
265 - name: tf-a-ci-gateway
266 alias: tf-l3-boot-tests-misc
267 current-parameters: true
268 kill-phase-on: NEVER
269 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
270 property-file: tf-a-env.param
271 - name: tf-a-ci-gateway
272 alias: spm-l3-boot-tests
273 current-parameters: true
274 kill-phase-on: NEVER
275 predefined-parameters: TEST_GROUPS=spm-l3-boot-tests
276 property-file: tf-a-env.param
277 - name: tf-a-ci-gateway
278 alias: tf-l1-boot-tests-plat
279 current-parameters: true
280 kill-phase-on: NEVER
281 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-plat
282 property-file: tf-a-env.param
283 - multijob:
284 name: Code coverage
285 condition: COMPLETED
286 projects:
287 - name: tf-a-ci-gateway
288 current-parameters: true
289 kill-phase-on: NEVER
290 predefined-parameters: TEST_GROUPS=tf-l3-code-coverage
291 property-file: tf-a-env.param
292 - multijob:
293 name: Run doc build check
294 condition: COMPLETED
295 projects:
296 - name: tf-a-ci-gateway
297 current-parameters: true
298 kill-phase-on: NEVER
299 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
300 property-file: tf-a-env.param
301 - multijob:
302 name: Generate visualizations
303 condition: COMPLETED
304 projects:
305# - name: tf-a-sloc-visualization
306# current-parameters: true
307# kill-phase-on: NEVER
308# property-file: tf-a-env.param
309# - name: tf-a-test-category-visualization
310# current-parameters: true
311# kill-phase-on: NEVER
312# property-file: tf-a-env.param
313 - name: tf-a-test-result-visualization
314 current-parameters: true
315 kill-phase-on: NEVER
316 predefined-parameters: TARGET_BUILD=${JOB_NAME}/${BUILD_NUMBER}
317 property-file: tf-a-env.param
318 # Run the unstable TF-A Tests at the end but do not let their results
319 # participate in the job's success/failure.
320 - trigger-builds:
321 - project: tf-a-ci-gateway
322 current-parameters: True
323 property-file: tf-a-tests-env.param
324 property-file-fail-on-missing: True
325 predefined-parameters: TEST_GROUPS=tftf-unstable
326 block: True
327 block-thresholds:
328 build-step-failure-threshold: never
329 unstable-threshold: never
330 failure-threshold: never
331 # If all tests passed, catch up the master branch with integration
332# - conditional-step:
333# condition-kind: current-status
334# condition-best: SUCCESS
335# condition-worst: SUCCESS
336# steps:
337# - shell: |-
338# #!/bin/bash
339# if [ $MULTIJOB_FAILED -eq 0 ]; then
340# echo "Proceed with integration->master fast-forward merge"
341# bash "${WORKSPACE}/tf-a-ci-scripts/script/scratch_scripts/fast-forward-master.sh"
342# else
343# echo "Do not proceed with integration->master merge as sub-jobs failed"
344# fi
345 publishers:
346 - email:
347 recipients: okash@google.com, paul.sokolovsky@linaro.org, bipin.ravi@arm.com, vwadekar@nvidia.com, joanna.farley@arm.com