blob: 1c031e2884b2fef785ff5145ccf1a4932b0d644e [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
Chris Kay675db4f2025-06-24 14:14:34 +010019 default: TF-A/trusted-firmware-a
Arthur She0cfe3642025-01-10 21:49:38 -080020 - string:
21 name: TF_GERRIT_BRANCH
Chris Kay675db4f2025-06-24 14:14:34 +010022 default: refs/heads/lts-v2.10
Arthur She0cfe3642025-01-10 21:49:38 -080023 - string:
24 name: TF_GERRIT_REFSPEC
Chris Kay675db4f2025-06-24 14:14:34 +010025 default: +refs/heads/lts-v2.10:refs/remotes/origin/lts-v2.10
Arthur She0cfe3642025-01-10 21:49:38 -080026 - string:
27 name: TFTF_GERRIT_PROJECT
Chris Kay675db4f2025-06-24 14:14:34 +010028 default: TF-A/tf-a-tests
Arthur She0cfe3642025-01-10 21:49:38 -080029 - string:
30 name: TFTF_GERRIT_BRANCH
Chris Kay675db4f2025-06-24 14:14:34 +010031 default: refs/heads/lts-v2.10
Arthur She0cfe3642025-01-10 21:49:38 -080032 - string:
33 name: TFTF_GERRIT_REFSPEC
Chris Kay675db4f2025-06-24 14:14:34 +010034 default: +refs/heads/lts-v2.10:refs/remotes/origin/lts-v2.10
Arthur She0cfe3642025-01-10 21:49:38 -080035 - string:
36 name: TF_M_TESTS_GERRIT_REFSPEC
Chris Kay675db4f2025-06-24 14:14:34 +010037 default: 95d3407a65e26fb3a4319ab38c257e50c9ee804f
Arthur She0cfe3642025-01-10 21:49:38 -080038 description: |
39 tf-m-tests refspec to use. The master branch is used by default.
40 - string:
41 name: TF_M_EXTRAS_GERRIT_REFSPEC
Chris Kay675db4f2025-06-24 14:14:34 +010042 default: +refs/heads/master:refs/remotes/origin/master
Arthur She0cfe3642025-01-10 21:49:38 -080043 description: |
44 tf-m-extras refspec to use. The master branch is used by default.
45 - string:
Chris Kay675db4f2025-06-24 14:14:34 +010046 name: SPM_REFSPEC
47 default: v2.10
48 description: |
49 SPM(Hafnium) refspec to use. The master branch is used by default.
Arthur She0cfe3642025-01-10 21:49:38 -080050 - string:
51 name: CI_REFSPEC
Chris Kay675db4f2025-06-24 14:14:34 +010052 default: +refs/heads/lts-v2.10:refs/remotes/origin/lts-v2.10
Arthur She0cfe3642025-01-10 21:49:38 -080053 - string:
Saheer Babub495f032025-01-21 23:01:11 +000054 name: JOBS_REFSPEC
Chris Kay675db4f2025-06-24 14:14:34 +010055 default: refs/heads/master
Saheer Babub495f032025-01-21 23:01:11 +000056 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
Chris Kay675db4f2025-06-24 14:14:34 +010060 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
Chris Kay675db4f2025-06-24 14:14:34 +010079 default: /srv/shared/${JOB_NAME}/${BUILD_NUMBER}
80 description: Folder containing shared repositories for downstream pipeline jobs
Paul Sokolovsky61423722024-02-01 00:36:34 +070081 triggers:
Chris Kay675db4f2025-06-24 14:14:34 +010082 - 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
Chris Kay675db4f2025-06-24 14:14:34 +010089 passphrase-variable: ""
Paul Sokolovsky61423722024-02-01 00:36:34 +070090 - workspace-cleanup
91 - timestamps
92 builders:
Chris Kay675db4f2025-06-24 14:14:34 +010093 - shell: !include-raw: scripts/clone.sh
Arthur She0cfe3642025-01-10 21:49:38 -080094 - shell: |
95 #!/bin/bash
96 set -e
97 cat << EOF > tf-a-env.param
98 GERRIT_PROJECT=${TF_GERRIT_PROJECT}
99 GERRIT_BRANCH=${TF_GERRIT_BRANCH}
100 GERRIT_REFSPEC=${TF_GERRIT_REFSPEC}
101 QA_SERVER_PROJECT=${JOB_NAME}
102 QA_SERVER_VERSION=${BUILD_NUMBER}
103 SHARE_FOLDER=${SHARE_FOLDER}
104 EOF
105 cat << EOF > tf-a-tests-env.param
106 GERRIT_PROJECT=${TFTF_GERRIT_PROJECT}
107 GERRIT_BRANCH=${TFTF_GERRIT_BRANCH}
108 GERRIT_REFSPEC=${TFTF_GERRIT_REFSPEC}
109 QA_SERVER_PROJECT=${JOB_NAME}
110 QA_SERVER_VERSION=${BUILD_NUMBER}
111 SHARE_FOLDER=${SHARE_FOLDER}
112 EOF
Chris Kay675db4f2025-06-24 14:14:34 +0100113 - shell: !include-raw: scripts/lts-check-last-commit.sh
Arthur She0cfe3642025-01-10 21:49:38 -0800114 - conditional-step:
115 condition-kind: file-exists
116 condition-filename: TO_BUILD
117 condition-basedir: workspace
118 steps:
119 - multijob:
120 name: Run static checks on the code
121 condition: COMPLETED
122 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100123 - name: tf-a-static-checks
124 current-parameters: true
125 kill-phase-on: NEVER
126 property-file: tf-a-env.param
Arthur She0cfe3642025-01-10 21:49:38 -0800127 - multijob:
128 name: Build Trusted Firmware
129 condition: COMPLETED
130 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100131 - name: tf-a-lts2.10-ci-gateway
132 alias: tf-l1-build-fvp tf-l2-build-fvp
133 current-parameters: true
134 kill-phase-on: NEVER
135 predefined-parameters: |
136 TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp
137 property-file: tf-a-env.param
138 - name: tf-a-lts2.10-ci-gateway
139 alias: tf-l1-build-juno tf-l2-build-juno
140 current-parameters: true
141 kill-phase-on: NEVER
142 predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno
143 property-file: tf-a-env.param
144 - name: tf-a-lts2.10-ci-gateway
145 alias: tf-l1-build-plat
146 current-parameters: true
147 kill-phase-on: NEVER
148 predefined-parameters: TEST_GROUPS=tf-l1-build-plat
149 property-file: tf-a-env.param
150 - name: tf-a-lts2.10-ci-gateway
151 alias: tf-l1-build-clang
152 current-parameters: true
153 kill-phase-on: NEVER
154 predefined-parameters: TEST_GROUPS=tf-l1-build-clang
155 property-file: tf-a-env.param
Arthur She0cfe3642025-01-10 21:49:38 -0800156 - multijob:
157 name: TFTF Tests for FVP
158 condition: COMPLETED
159 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100160 - name: tf-a-lts2.10-ci-gateway
161 alias: tftf-l2-fwu
162 current-parameters: true
163 kill-phase-on: NEVER
164 predefined-parameters: TEST_GROUPS=tftf-l2-fwu
165 property-file: tf-a-tests-env.param
166 - name: tf-a-lts2.10-ci-gateway
167 alias: tftf-l1-fvp tftf-l2-fvp-auxiliary
168 current-parameters: true
169 kill-phase-on: NEVER
170 predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l2-fvp-auxiliary
171 property-file: tf-a-tests-env.param
172 - name: tf-a-lts2.10-ci-gateway
173 alias: tftf-l2-fvp tftf-l2-fvp-dynamiq
174 current-parameters: true
175 kill-phase-on: NEVER
176 predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq
177 property-file: tf-a-tests-env.param
178 - name: tf-a-lts2.10-ci-gateway
179 alias: tftf-l2-extensive-tests-fvp
180 current-parameters: true
181 kill-phase-on: NEVER
182 predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp
183 property-file: tf-a-tests-env.param
Arthur She0cfe3642025-01-10 21:49:38 -0800184 - multijob:
185 name: Boot up to the Linux shell prompt
186 condition: COMPLETED
187 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100188 - name: tf-a-lts2.10-ci-gateway
189 alias: tf-l2-boot-tests-aarch32
190 current-parameters: true
191 kill-phase-on: NEVER
192 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
193 property-file: tf-a-env.param
194 - name: tf-a-lts2.10-ci-gateway
195 alias: tf-l2-boot-tests-rootfs
196 current-parameters: true
197 kill-phase-on: NEVER
198 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
199 property-file: tf-a-env.param
200 - name: tf-a-lts2.10-ci-gateway
201 alias: tf-l2-boot-tests-spm-mm
202 current-parameters: true
203 kill-phase-on: NEVER
204 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm
205 property-file: tf-a-env.param
206 - name: tf-a-lts2.10-ci-gateway
207 alias: spm-l2-boot-tests
208 current-parameters: true
209 kill-phase-on: NEVER
210 predefined-parameters: TEST_GROUPS=spm-l2-boot-tests
211 property-file: tf-a-env.param
Arthur She0cfe3642025-01-10 21:49:38 -0800212 - multijob:
213 name: Boot up to the Linux shell prompt - Part 2
214 condition: COMPLETED
215 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100216 - name: tf-a-lts2.10-ci-gateway
217 alias: tf-l2-boot-tests-misc
218 current-parameters: true
219 kill-phase-on: NEVER
220 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
221 property-file: tf-a-env.param
222 - name: tf-a-lts2.10-ci-gateway
223 alias: tf-l2-boot-tests-latest
224 current-parameters: true
225 kill-phase-on: NEVER
226 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
227 property-file: tf-a-env.param
228 - name: tf-a-lts2.10-ci-gateway
229 alias: tf-l2-boot-tests-cortex
230 current-parameters: true
231 kill-phase-on: NEVER
232 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex
233 property-file: tf-a-env.param
234 - name: tf-a-lts2.10-ci-gateway
235 alias: tf-l2-boot-tests-gicv2
236 current-parameters: true
237 kill-phase-on: NEVER
238 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
239 property-file: tf-a-env.param
240 - name: tf-a-lts2.10-ci-gateway
241 alias: tf-l2-boot-tests-bl2_el3
242 current-parameters: true
243 kill-phase-on: NEVER
244 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3
245 property-file: tf-a-env.param
246 - name: tf-a-lts2.10-ci-gateway
247 alias: qemu-boot-tests
248 current-parameters: true
249 kill-phase-on: NEVER
250 predefined-parameters: TEST_GROUPS=qemu-boot-tests
251 property-file: tf-a-env.param
Arthur She0cfe3642025-01-10 21:49:38 -0800252 - multijob:
253 name: Juno Boot Tests
254 condition: COMPLETED
255 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100256 - name: tf-a-lts2.10-ci-gateway
257 alias: tf-l2-boot-tests-juno
258 current-parameters: true
259 kill-phase-on: NEVER
260 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
261 property-file: tf-a-env.param
262 - name: tf-a-lts2.10-ci-gateway
263 alias: tftf-l1-juno
264 current-parameters: true
265 kill-phase-on: NEVER
266 predefined-parameters: TEST_GROUPS=tftf-l1-juno
267 property-file: tf-a-env.param
Arthur She0cfe3642025-01-10 21:49:38 -0800268 - multijob:
269 name: Miscellaneous tests
270 condition: COMPLETED
271 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100272 - name: tf-a-lts2.10-ci-gateway
273 alias: tf-l3-boot-tests-css
274 current-parameters: true
275 kill-phase-on: NEVER
276 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
277 property-file: tf-a-env.param
278 - name: tf-a-lts2.10-ci-gateway
279 alias: tf-l3-boot-tests-spm-mm
280 current-parameters: true
281 kill-phase-on: NEVER
282 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm
283 property-file: tf-a-env.param
284 - name: tf-a-lts2.10-ci-gateway
285 alias: tf-l3-boot-tests-ras
286 current-parameters: true
287 kill-phase-on: NEVER
288 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
289 property-file: tf-a-env.param
290 - name: tf-a-lts2.10-ci-gateway
291 alias: tf-l3-boot-tests-misc
292 current-parameters: true
293 kill-phase-on: NEVER
294 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
295 property-file: tf-a-env.param
296 - name: tf-a-lts2.10-ci-gateway
297 alias: tf-l3-boot-tests-n1sdp
298 current-parameters: true
299 kill-phase-on: NEVER
300 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-n1sdp
301 property-file: tf-a-env.param
302 - name: tf-a-lts2.10-ci-gateway
303 alias: spm-l3-boot-tests
304 current-parameters: true
305 kill-phase-on: NEVER
306 predefined-parameters: TEST_GROUPS=spm-l3-boot-tests
307 property-file: tf-a-env.param
308 - name: tf-a-lts2.10-ci-gateway
309 alias: tf-l2-boot-tests-partner-boards
310 current-parameters: true
311 kill-phase-on: NEVER
312 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-partner-boards
313 property-file: tf-a-env.param
314 # Platform-specific self-tests.
315 # These tests run from the BL31 image then halt the target.
316 - name: tf-a-lts2.10-ci-gateway
317 alias: tf-l2-boot-tests-arm-plats
318 current-parameters: true
319 kill-phase-on: NEVER
320 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-arm-plats
321 property-file: tf-a-env.param
Arthur She0cfe3642025-01-10 21:49:38 -0800322 - multijob:
323 name: Run doc build check
324 condition: COMPLETED
325 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100326 - name: tf-a-lts2.10-ci-gateway
327 alias: tf-l1-check-docs
328 current-parameters: true
329 kill-phase-on: NEVER
330 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
331 property-file: tf-a-env.param
Arthur She0cfe3642025-01-10 21:49:38 -0800332 - multijob:
333 name: Generate visualizations
334 condition: COMPLETED
335 projects:
336 - name: tf-a-sloc-visualization
337 current-parameters: true
338 kill-phase-on: NEVER
339 property-file: tf-a-env.param
340 - name: tf-a-test-category-visualization
341 current-parameters: true
342 kill-phase-on: NEVER
343 property-file: tf-a-env.param
344 - name: tf-a-test-result-visualization
345 current-parameters: true
346 kill-phase-on: NEVER
347 predefined-parameters: TARGET_BUILD=${JOB_NAME}/${BUILD_NUMBER}
348 property-file: tf-a-env.param
349 # Run the unstable TF-A Tests at the end but do not let their results
350 # participate in the job's success/failure.
351 - trigger-builds:
352 - project: tf-a-lts2.10-ci-gateway
353 current-parameters: True
354 property-file: tf-a-tests-env.param
355 property-file-fail-on-missing: True
356 predefined-parameters: TEST_GROUPS=tftf-unstable
357 block: True
358 block-thresholds:
359 build-step-failure-threshold: never
360 unstable-threshold: never
361 failure-threshold: never
Paul Sokolovsky61423722024-02-01 00:36:34 +0700362 publishers:
Arthur She9f3a0d62025-01-27 07:59:10 -0800363 - conditional-publisher:
364 - condition-kind: shell
365 condition-command: |
366 ! test -f ${WORKSPACE}/TO_BUILD
367 action:
368 - groovy-postbuild:
369 script: |
370 def currentBuild = Thread.currentThread().executable
371 currentBuild.setDescription("There are no new commits in the repositories, skip the build!")
Chris Kay675db4f2025-06-24 14:14:34 +0100372 on-failure: nothing
Arthur She0cfe3642025-01-10 21:49:38 -0800373 - email:
Govindraj Raja3ceffb02025-06-13 11:28:23 -0500374 recipients: bipin.ravi@arm.com, vwadekar@nvidia.com, yann.gautier@st.com, jidong@google.com, govindraj.raja@arm.com