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