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