blob: a06de1618630ecc35cd651f1c04d8aabc5a0f2ce [file] [log] [blame]
Arthur She41aa9422025-02-12 14:10:48 -08001- job:
2 name: tf-a-lts2.12-main
3 node: docker-amd64-tf-a-lts2.12-jammy
4 project-type: multijob
5 concurrent: true
6 disabled: false
7 description: Main CI job for Trusted Firmware A LTS v2.12.
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 parameters:
17 - string:
18 name: TF_GERRIT_PROJECT
Chris Kay675db4f2025-06-24 14:14:34 +010019 default: TF-A/trusted-firmware-a
Arthur She41aa9422025-02-12 14:10:48 -080020 - string:
21 name: TF_GERRIT_BRANCH
Chris Kay675db4f2025-06-24 14:14:34 +010022 default: refs/heads/lts-v2.12
Arthur She41aa9422025-02-12 14:10:48 -080023 - string:
24 name: TF_GERRIT_REFSPEC
Chris Kay675db4f2025-06-24 14:14:34 +010025 default: +refs/heads/lts-v2.12:refs/remotes/origin/lts-v2.12
Arthur She41aa9422025-02-12 14:10:48 -080026 - string:
27 name: TFTF_GERRIT_PROJECT
Chris Kay675db4f2025-06-24 14:14:34 +010028 default: TF-A/tf-a-tests
Arthur She41aa9422025-02-12 14:10:48 -080029 - string:
30 name: TFTF_GERRIT_BRANCH
Chris Kay675db4f2025-06-24 14:14:34 +010031 default: refs/heads/lts-v2.12
Arthur She41aa9422025-02-12 14:10:48 -080032 - string:
33 name: TFTF_GERRIT_REFSPEC
Chris Kay675db4f2025-06-24 14:14:34 +010034 default: +refs/heads/lts-v2.12:refs/remotes/origin/lts-v2.12
Arthur She41aa9422025-02-12 14:10:48 -080035 - string:
36 name: TF_M_TESTS_GERRIT_REFSPEC
Chris Kay675db4f2025-06-24 14:14:34 +010037 default: 53ddc58dcd57e1f5cf658b316d7d735335d58570
Arthur She41aa9422025-02-12 14:10:48 -080038 description: |
39 tf-m-tests refspec to use. The tfa_ci_dep_revision branch is used by default.
40 - string:
41 name: TF_M_EXTRAS_GERRIT_REFSPEC
Chris Kay675db4f2025-06-24 14:14:34 +010042 default: 3ff04e40ff7f66c8cee087b6e5cbd8fb8c1bec01
Arthur She41aa9422025-02-12 14:10:48 -080043 description: |
44 tf-m-extras refspec to use. The tfs_ci_dep_revision branch is used by default.
45 - string:
Chris Kay675db4f2025-06-24 14:14:34 +010046 name: SPM_REFSPEC
47 default: lts-v2.12
48 description: |
49 SPM(Hafnium) refspec to use. The lts-v2.12 branch is used by default.
Arthur She41aa9422025-02-12 14:10:48 -080050 - string:
51 name: CI_REFSPEC
Chris Kay675db4f2025-06-24 14:14:34 +010052 default: +refs/heads/lts-v2.12:refs/remotes/origin/lts-v2.12
Arthur She41aa9422025-02-12 14:10:48 -080053 - string:
54 name: JOBS_REFSPEC
Chris Kay675db4f2025-06-24 14:14:34 +010055 default: refs/heads/master
Arthur She41aa9422025-02-12 14:10:48 -080056 description: |
57 tf-a-job-configs refspec to use. The master branch is used by default.
58 - string:
59 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 She41aa9422025-02-12 14:10:48 -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
Arthur She41aa9422025-02-12 14:10:48 -080081 triggers:
Chris Kay675db4f2025-06-24 14:14:34 +010082 - timed: H H(0-7) * * 1,3,5
Arthur She41aa9422025-02-12 14:10:48 -080083 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: ""
Arthur She41aa9422025-02-12 14:10:48 -080090 - workspace-cleanup
91 - timestamps
92 builders:
Chris Kay675db4f2025-06-24 14:14:34 +010093 - shell: !include-raw: scripts/clone.sh
Arthur She41aa9422025-02-12 14:10:48 -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}
Arthur She41aa9422025-02-12 14:10:48 -0800101 SHARE_FOLDER=${SHARE_FOLDER}
102 EOF
103 cat << EOF > tf-a-tests-env.param
104 GERRIT_PROJECT=${TFTF_GERRIT_PROJECT}
105 GERRIT_BRANCH=${TFTF_GERRIT_BRANCH}
106 GERRIT_REFSPEC=${TFTF_GERRIT_REFSPEC}
Arthur She41aa9422025-02-12 14:10:48 -0800107 SHARE_FOLDER=${SHARE_FOLDER}
108 EOF
Chris Kay675db4f2025-06-24 14:14:34 +0100109 - shell: !include-raw: scripts/lts-check-last-commit.sh
Arthur She41aa9422025-02-12 14:10:48 -0800110 - conditional-step:
111 condition-kind: file-exists
112 condition-filename: TO_BUILD
113 condition-basedir: workspace
114 steps:
115 - multijob:
116 name: Run static checks on the code
117 condition: COMPLETED
118 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100119 - name: tf-a-static-checks
120 current-parameters: true
121 kill-phase-on: NEVER
122 property-file: tf-a-env.param
Arthur She41aa9422025-02-12 14:10:48 -0800123 - multijob:
124 name: Build Trusted Firmware
125 condition: COMPLETED
126 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100127 - name: tf-a-lts2.12-ci-gateway
128 alias: tf-l1-build-fvp tf-l2-build-fvp
129 current-parameters: true
130 kill-phase-on: NEVER
131 predefined-parameters: |
132 TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp
133 property-file: tf-a-env.param
134 - name: tf-a-lts2.12-ci-gateway
135 alias: tf-l1-build-juno tf-l2-build-juno
136 current-parameters: true
137 kill-phase-on: NEVER
138 predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno
139 property-file: tf-a-env.param
140 - name: tf-a-lts2.12-ci-gateway
141 alias: tf-l1-build-plat
142 current-parameters: true
143 kill-phase-on: NEVER
144 predefined-parameters: TEST_GROUPS=tf-l1-build-plat
145 property-file: tf-a-env.param
146 - name: tf-a-lts2.12-ci-gateway
147 alias: tf-l1-build-clang
148 current-parameters: true
149 kill-phase-on: NEVER
150 predefined-parameters: TEST_GROUPS=tf-l1-build-clang
151 property-file: tf-a-env.param
Arthur She41aa9422025-02-12 14:10:48 -0800152 - multijob:
153 name: TFTF Tests for FVP
154 condition: COMPLETED
155 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100156 - name: tf-a-lts2.12-ci-gateway
157 alias: tftf-l2-fwu
158 current-parameters: true
159 kill-phase-on: NEVER
160 predefined-parameters: TEST_GROUPS=tftf-l2-fwu
161 property-file: tf-a-tests-env.param
162 - name: tf-a-lts2.12-ci-gateway
163 alias: tftf-l1-fvp tftf-l2-fvp-auxiliary
164 current-parameters: true
165 kill-phase-on: NEVER
166 predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l2-fvp-auxiliary
167 property-file: tf-a-tests-env.param
168 - name: tf-a-lts2.12-ci-gateway
169 alias: tftf-l2-fvp tftf-l2-fvp-dynamiq
170 current-parameters: true
171 kill-phase-on: NEVER
172 predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq
173 property-file: tf-a-tests-env.param
174 - name: tf-a-lts2.12-ci-gateway
175 alias: tftf-l2-extensive-tests-fvp
176 current-parameters: true
177 kill-phase-on: NEVER
178 predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp
179 property-file: tf-a-tests-env.param
Arthur She41aa9422025-02-12 14:10:48 -0800180 - multijob:
181 name: Boot up to the Linux shell prompt
182 condition: COMPLETED
183 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100184 - name: tf-a-lts2.12-ci-gateway
185 alias: tf-l2-boot-tests-aarch32
186 current-parameters: true
187 kill-phase-on: NEVER
188 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
189 property-file: tf-a-env.param
190 - name: tf-a-lts2.12-ci-gateway
191 alias: tf-l2-boot-tests-rootfs
192 current-parameters: true
193 kill-phase-on: NEVER
194 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
195 property-file: tf-a-env.param
196 - name: tf-a-lts2.12-ci-gateway
197 alias: tf-l2-boot-tests-spm-mm
198 current-parameters: true
199 kill-phase-on: NEVER
200 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm
201 property-file: tf-a-env.param
202 - name: tf-a-lts2.12-ci-gateway
203 alias: spm-l2-boot-tests
204 current-parameters: true
205 kill-phase-on: NEVER
206 predefined-parameters: TEST_GROUPS=spm-l2-boot-tests
207 property-file: tf-a-env.param
Arthur She41aa9422025-02-12 14:10:48 -0800208 - multijob:
209 name: Boot up to the Linux shell prompt - Part 2
210 condition: COMPLETED
211 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100212 - name: tf-a-lts2.12-ci-gateway
213 alias: tf-l2-boot-tests-misc
214 current-parameters: true
215 kill-phase-on: NEVER
216 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
217 property-file: tf-a-env.param
218 - name: tf-a-lts2.12-ci-gateway
219 alias: tf-l2-boot-tests-latest
220 current-parameters: true
221 kill-phase-on: NEVER
222 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
223 property-file: tf-a-env.param
224 - name: tf-a-lts2.12-ci-gateway
225 alias: tf-l2-boot-tests-cortex
226 current-parameters: true
227 kill-phase-on: NEVER
228 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex
229 property-file: tf-a-env.param
230 - name: tf-a-lts2.12-ci-gateway
231 alias: tf-l2-boot-tests-gicv2
232 current-parameters: true
233 kill-phase-on: NEVER
234 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
235 property-file: tf-a-env.param
236 - name: tf-a-lts2.12-ci-gateway
237 alias: tf-l2-boot-tests-bl2_el3
238 current-parameters: true
239 kill-phase-on: NEVER
240 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3
241 property-file: tf-a-env.param
242 - name: tf-a-lts2.12-ci-gateway
243 alias: qemu-boot-tests
244 current-parameters: true
245 kill-phase-on: NEVER
246 predefined-parameters: TEST_GROUPS=qemu-boot-tests
247 property-file: tf-a-env.param
Arthur She41aa9422025-02-12 14:10:48 -0800248 - multijob:
249 name: Juno Boot Tests
250 condition: COMPLETED
251 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100252 - name: tf-a-lts2.12-ci-gateway
253 alias: tf-l2-boot-tests-juno
254 current-parameters: true
255 kill-phase-on: NEVER
256 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
257 property-file: tf-a-env.param
258 - name: tf-a-lts2.12-ci-gateway
259 alias: tftf-l1-juno
260 current-parameters: true
261 kill-phase-on: NEVER
262 predefined-parameters: TEST_GROUPS=tftf-l1-juno
263 property-file: tf-a-env.param
Arthur She41aa9422025-02-12 14:10:48 -0800264 - multijob:
265 name: Miscellaneous tests
266 condition: COMPLETED
267 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100268 - name: tf-a-lts2.12-ci-gateway
269 alias: tf-l3-boot-tests-css
270 current-parameters: true
271 kill-phase-on: NEVER
272 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
273 property-file: tf-a-env.param
274 - name: tf-a-lts2.12-ci-gateway
275 alias: tf-l3-boot-tests-spm-mm
276 current-parameters: true
277 kill-phase-on: NEVER
278 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm
279 property-file: tf-a-env.param
280 - name: tf-a-lts2.12-ci-gateway
281 alias: tf-l3-boot-tests-ras
282 current-parameters: true
283 kill-phase-on: NEVER
284 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
285 property-file: tf-a-env.param
286 - name: tf-a-lts2.12-ci-gateway
287 alias: tf-l3-boot-tests-misc
288 current-parameters: true
289 kill-phase-on: NEVER
290 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
291 property-file: tf-a-env.param
292 - name: tf-a-lts2.12-ci-gateway
293 alias: tf-l3-boot-tests-n1sdp
294 current-parameters: true
295 kill-phase-on: NEVER
296 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-n1sdp
297 property-file: tf-a-env.param
298 - name: tf-a-lts2.12-ci-gateway
299 alias: spm-l3-boot-tests
300 current-parameters: true
301 kill-phase-on: NEVER
302 predefined-parameters: TEST_GROUPS=spm-l3-boot-tests
303 property-file: tf-a-env.param
304 - name: tf-a-lts2.12-ci-gateway
305 alias: tf-l2-boot-tests-partner-boards
306 current-parameters: true
307 kill-phase-on: NEVER
308 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-partner-boards
309 property-file: tf-a-env.param
310 # Platform-specific self-tests.
311 # These tests run from the BL31 image then halt the target.
312 - name: tf-a-lts2.12-ci-gateway
313 alias: tf-l2-boot-tests-arm-plats
314 current-parameters: true
315 kill-phase-on: NEVER
316 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-arm-plats
317 property-file: tf-a-env.param
Arthur She41aa9422025-02-12 14:10:48 -0800318 - multijob:
319 name: Run doc build check
320 condition: COMPLETED
321 projects:
Chris Kay675db4f2025-06-24 14:14:34 +0100322 - name: tf-a-lts2.12-ci-gateway
323 alias: tf-l1-check-docs
324 current-parameters: true
325 kill-phase-on: NEVER
326 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
327 property-file: tf-a-env.param
Arthur She41aa9422025-02-12 14:10:48 -0800328 - multijob:
329 name: Generate visualizations
330 condition: COMPLETED
331 projects:
332 - name: tf-a-sloc-visualization
333 current-parameters: true
334 kill-phase-on: NEVER
335 property-file: tf-a-env.param
336 - name: tf-a-test-category-visualization
337 current-parameters: true
338 kill-phase-on: NEVER
339 property-file: tf-a-env.param
340 - name: tf-a-test-result-visualization
341 current-parameters: true
342 kill-phase-on: NEVER
343 predefined-parameters: TARGET_BUILD=${JOB_NAME}/${BUILD_NUMBER}
344 property-file: tf-a-env.param
345 # Run the unstable TF-A Tests at the end but do not let their results
346 # participate in the job's success/failure.
347 - trigger-builds:
348 - project: tf-a-lts2.12-ci-gateway
349 current-parameters: True
350 property-file: tf-a-tests-env.param
351 property-file-fail-on-missing: True
352 predefined-parameters: TEST_GROUPS=tftf-unstable
353 block: True
354 block-thresholds:
355 build-step-failure-threshold: never
356 unstable-threshold: never
357 failure-threshold: never
358 publishers:
359 - conditional-publisher:
360 - condition-kind: shell
361 condition-command: |
362 ! test -f ${WORKSPACE}/TO_BUILD
363 action:
364 - groovy-postbuild:
365 script: |
366 def currentBuild = Thread.currentThread().executable
367 currentBuild.setDescription("There are no new commits in the repositories, skip the build!")
Chris Kay675db4f2025-06-24 14:14:34 +0100368 on-failure: nothing
Arthur She41aa9422025-02-12 14:10:48 -0800369 - email:
Govindraj Raja3ceffb02025-06-13 11:28:23 -0500370 recipients: bipin.ravi@arm.com, vwadekar@nvidia.com, yann.gautier@st.com, jidong@google.com, govindraj.raja@arm.com