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