blob: ee848f2dd3f9149963e37711e232bab9dbfdb089 [file] [log] [blame]
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +07001- job:
Paul Sokolovsky47ed2b72023-03-01 17:10:59 +07002 name: tf-a-lts2.8-main
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +07003 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: 14
15 num-to-keep: 60
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
Paul Sokolovsky632f7e72023-02-17 07:31:08 +070024 default: 'refs/heads/lts-v2.8'
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +070025 - string:
26 name: TF_GERRIT_REFSPEC
Paul Sokolovsky00244692023-02-16 00:09:16 +070027 default: '+refs/heads/lts-v2.8:refs/remotes/origin/lts-v2.8'
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +070028 - string:
29 name: TFTF_GERRIT_PROJECT
30 default: 'TF-A/tf-a-tests'
31 - string:
32 name: TFTF_GERRIT_BRANCH
Paul Sokolovsky632f7e72023-02-17 07:31:08 +070033 default: 'refs/heads/lts-v2.8'
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +070034 - string:
35 name: TFTF_GERRIT_REFSPEC
Paul Sokolovsky632f7e72023-02-17 07:31:08 +070036 default: '+refs/heads/lts-v2.8:refs/remotes/origin/lts-v2.8'
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +070037 - string:
38 name: CI_REFSPEC
Paul Sokolovsky73103e72023-02-16 19:25:19 +070039 default: '+refs/heads/lts-v2.8:refs/remotes/origin/lts-v2.8'
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +070040 - string:
41 name: SHARE_FOLDER
42 default: '/srv/shared/staging/${JOB_NAME}/${BUILD_NUMBER}'
43 description: 'Folder containing shared repositories for downstream pipeline jobs'
44 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:
54 - shell:
55 !include-raw: scripts/clone.sh
56 - shell: |
57 #!/bin/bash
58 set -e
59 cat << EOF > tf-a-env.param
60 GERRIT_PROJECT=${TF_GERRIT_PROJECT}
61 GERRIT_BRANCH=${TF_GERRIT_BRANCH}
62 GERRIT_REFSPEC=${TF_GERRIT_REFSPEC}
63 QA_SERVER_PROJECT=${JOB_NAME}
64 QA_SERVER_VERSION=${BUILD_NUMBER}
65 SHARE_FOLDER=${SHARE_FOLDER}
66 EOF
67 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}
71 QA_SERVER_PROJECT=${JOB_NAME}
72 QA_SERVER_VERSION=${BUILD_NUMBER}
73 SHARE_FOLDER=${SHARE_FOLDER}
74 EOF
75 - multijob:
76 name: Run static checks on the code
77 condition: COMPLETED
78 projects:
79 - name: tf-a-static-checks
80 current-parameters: true
81 kill-phase-on: NEVER
82 property-file: tf-a-env.param
83 - multijob:
84 name: Build Trusted Firmware
85 condition: COMPLETED
86 projects:
87 - name: tf-a-ci-gateway
88 alias: tf-l1-build-fvp tf-l2-build-fvp
89 current-parameters: true
90 kill-phase-on: NEVER
91 predefined-parameters: |
92 TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp
93 property-file: tf-a-env.param
94 - name: tf-a-ci-gateway
95 alias: tf-l1-build-juno tf-l2-build-juno
96 current-parameters: true
97 kill-phase-on: NEVER
98 predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno
99 property-file: tf-a-env.param
100 - name: tf-a-ci-gateway
101 alias: tf-l1-build-plat
102 current-parameters: true
103 kill-phase-on: NEVER
104 predefined-parameters: TEST_GROUPS=tf-l1-build-plat
105 property-file: tf-a-env.param
106 - name: tf-a-ci-gateway
107 alias: tf-l1-build-clang
108 current-parameters: true
109 kill-phase-on: NEVER
110 predefined-parameters: TEST_GROUPS=tf-l1-build-clang
111 property-file: tf-a-env.param
112 - multijob:
113 name: TFTF Tests for FVP
114 condition: COMPLETED
115 projects:
116 - name: tf-a-ci-gateway
117 alias: tftf-l2-fwu
118 current-parameters: true
119 kill-phase-on: NEVER
120 predefined-parameters: TEST_GROUPS=tftf-l2-fwu
121 property-file: tf-a-tests-env.param
122 - name: tf-a-ci-gateway
123 alias: tftf-l1-fvp tftf-l2-fvp-auxiliary
124 current-parameters: true
125 kill-phase-on: NEVER
126 predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l2-fvp-auxiliary
127 property-file: tf-a-tests-env.param
128 - name: tf-a-ci-gateway
129 alias: tftf-l2-fvp tftf-l2-fvp-dynamiq
130 current-parameters: true
131 kill-phase-on: NEVER
132 predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq
133 property-file: tf-a-tests-env.param
134 - name: tf-a-ci-gateway
135 alias: tftf-l2-extensive-tests-fvp
136 current-parameters: true
137 kill-phase-on: NEVER
138 predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp
139 property-file: tf-a-tests-env.param
Paul Sokolovsky04cae432023-02-17 23:46:40 +0700140 - multijob:
141 name: Boot up to the Linux shell prompt
142 condition: COMPLETED
143 projects:
144 - name: tf-a-ci-gateway
145 alias: tf-l2-boot-tests-foundation
146 current-parameters: true
147 kill-phase-on: NEVER
148 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-foundation
149 property-file: tf-a-env.param
Paul Sokolovsky3c721312023-02-18 02:37:54 +0700150 - name: tf-a-ci-gateway
151 alias: tf-l2-boot-tests-aarch32
152 current-parameters: true
153 kill-phase-on: NEVER
154 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
155 property-file: tf-a-env.param
Paul Sokolovsky04cae432023-02-17 23:46:40 +0700156 - name: tf-a-ci-gateway
157 alias: tf-l2-boot-tests-rootfs
158 current-parameters: true
159 kill-phase-on: NEVER
160 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
161 property-file: tf-a-env.param
162 - name: tf-a-ci-gateway
163 alias: tf-l2-boot-tests-spm-mm
164 current-parameters: true
165 kill-phase-on: NEVER
166 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm
167 property-file: tf-a-env.param
168 - name: tf-a-ci-gateway
169 alias: spm-l2-boot-tests
170 current-parameters: true
171 kill-phase-on: NEVER
172 predefined-parameters: TEST_GROUPS=spm-l2-boot-tests
173 property-file: tf-a-env.param
Paul Sokolovsky3c721312023-02-18 02:37:54 +0700174 - multijob:
175 name: Boot up to the Linux shell prompt - Part 2
176 condition: COMPLETED
177 projects:
178 - name: tf-a-ci-gateway
179 alias: tf-l2-boot-tests-misc
180 current-parameters: true
181 kill-phase-on: NEVER
182 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
183 property-file: tf-a-env.param
184 - name: tf-a-ci-gateway
185 alias: tf-l2-boot-tests-latest
186 current-parameters: true
187 kill-phase-on: NEVER
188 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
189 property-file: tf-a-env.param
190 - name: tf-a-ci-gateway
191 alias: tf-l2-boot-tests-cortex
192 current-parameters: true
193 kill-phase-on: NEVER
194 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex
195 property-file: tf-a-env.param
Paul Sokolovsky51508072023-02-18 08:46:48 +0700196 - name: tf-a-ci-gateway
197 alias: tf-l2-boot-tests-gicv2
198 current-parameters: true
199 kill-phase-on: NEVER
200 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
201 property-file: tf-a-env.param
202 - name: tf-a-ci-gateway
203 alias: tf-l2-boot-tests-bl2_el3
204 current-parameters: true
205 kill-phase-on: NEVER
206 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3
207 property-file: tf-a-env.param
208 - name: tf-a-ci-gateway
209 alias: qemu-boot-tests
210 current-parameters: true
211 kill-phase-on: NEVER
212 predefined-parameters: TEST_GROUPS=qemu-boot-tests
213 property-file: tf-a-env.param
Paul Sokolovsky3c721312023-02-18 02:37:54 +0700214 - multijob:
215 name: Juno Boot Tests
216 condition: COMPLETED
217 projects:
218 - name: tf-a-ci-gateway
219 alias: tf-l1-boot-tests-juno
220 current-parameters: true
221 kill-phase-on: NEVER
222 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-juno
223 property-file: tf-a-env.param
Paul Sokolovsky51508072023-02-18 08:46:48 +0700224 - name: tf-a-ci-gateway
225 alias: tf-l2-boot-tests-juno
226 current-parameters: true
227 kill-phase-on: NEVER
228 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
229 property-file: tf-a-env.param
230 - name: tf-a-ci-gateway
231 alias: tftf-l1-juno
232 current-parameters: true
233 kill-phase-on: NEVER
234 predefined-parameters: TEST_GROUPS=tftf-l1-juno
235 property-file: tf-a-env.param
Paul Sokolovsky3c721312023-02-18 02:37:54 +0700236 - multijob:
237 name: Miscellaneous tests
238 condition: COMPLETED
239 projects:
240 - name: tf-a-ci-gateway
241 alias: tf-l3-boot-tests-css
242 current-parameters: true
243 kill-phase-on: NEVER
244 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
245 property-file: tf-a-env.param
Paul Sokolovsky51508072023-02-18 08:46:48 +0700246 - name: tf-a-ci-gateway
247 alias: tf-l3-boot-tests-spm-mm
248 current-parameters: true
249 kill-phase-on: NEVER
250 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm
251 property-file: tf-a-env.param
252 - name: tf-a-ci-gateway
253 alias: tf-l3-boot-tests-ras
254 current-parameters: true
255 kill-phase-on: NEVER
256 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
257 property-file: tf-a-env.param
258 - name: tf-a-ci-gateway
259 alias: tf-l3-boot-tests-misc
260 current-parameters: true
261 kill-phase-on: NEVER
262 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
263 property-file: tf-a-env.param
264 - name: tf-a-ci-gateway
265 alias: spm-l3-boot-tests
266 current-parameters: true
267 kill-phase-on: NEVER
268 predefined-parameters: TEST_GROUPS=spm-l3-boot-tests
269 property-file: tf-a-env.param
270 - name: tf-a-ci-gateway
271 alias: tf-l1-boot-tests-plat
272 current-parameters: true
273 kill-phase-on: NEVER
274 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-plat
275 property-file: tf-a-env.param
276 - multijob:
277 name: Code coverage
278 condition: COMPLETED
279 projects:
280 - name: tf-a-ci-gateway
281 current-parameters: true
282 kill-phase-on: NEVER
283 predefined-parameters: TEST_GROUPS=tf-l3-code-coverage
284 property-file: tf-a-env.param
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +0700285 - multijob:
286 name: Run doc build check
287 condition: COMPLETED
288 projects:
289 - name: tf-a-ci-gateway
290 current-parameters: true
291 kill-phase-on: NEVER
292 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
293 property-file: tf-a-env.param
294 - multijob:
295 name: Generate visualizations
296 condition: COMPLETED
297 projects:
298# - name: tf-a-sloc-visualization
299# current-parameters: true
300# kill-phase-on: NEVER
301# property-file: tf-a-env.param
302# - name: tf-a-test-category-visualization
303# current-parameters: true
304# kill-phase-on: NEVER
305# property-file: tf-a-env.param
306 - name: tf-a-test-result-visualization
307 current-parameters: true
308 kill-phase-on: NEVER
309 predefined-parameters: TARGET_BUILD=${JOB_NAME}/${BUILD_NUMBER}
310 property-file: tf-a-env.param
311 # Run the unstable TF-A Tests at the end but do not let their results
312 # participate in the job's success/failure.
313 - trigger-builds:
314 - project: tf-a-ci-gateway
315 current-parameters: True
316 property-file: tf-a-tests-env.param
317 property-file-fail-on-missing: True
318 predefined-parameters: TEST_GROUPS=tftf-unstable
319 block: True
320 block-thresholds:
321 build-step-failure-threshold: never
322 unstable-threshold: never
323 failure-threshold: never
324 # If all tests passed, catch up the master branch with integration
Paul Sokolovsky30681382023-02-16 00:13:17 +0700325# - conditional-step:
326# condition-kind: current-status
327# condition-best: SUCCESS
328# condition-worst: SUCCESS
329# steps:
330# - shell: |-
331# #!/bin/bash
332# if [ $MULTIJOB_FAILED -eq 0 ]; then
333# echo "Proceed with integration->master fast-forward merge"
334# bash "${WORKSPACE}/tf-a-ci-scripts/script/scratch_scripts/fast-forward-master.sh"
335# else
336# echo "Do not proceed with integration->master merge as sub-jobs failed"
337# fi