blob: 85fa5f1acba59d4a3387d0a2a15b42fd09d8f9ae [file] [log] [blame]
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +07001- job:
Paul Sokolovsky47ed2b72023-03-01 17:10:59 +07002 name: tf-a-lts2.8-main
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +07003 node: docker-amd64-tf-a-jammy
4 project-type: multijob
5 concurrent: true
6 disabled: false
7 description: Main CI job for Trusted Firmware.
8 properties:
9 - throttle:
10 option: project
11 enabled: true
12 max-total: 5
13 - build-discarder:
14 days-to-keep: 14
15 num-to-keep: 60
16 - authorization:
17 !include: authorization.yaml.inc
18 parameters:
19 - string:
20 name: TF_GERRIT_PROJECT
21 default: 'TF-A/trusted-firmware-a'
22 - string:
23 name: TF_GERRIT_BRANCH
Paul Sokolovsky632f7e72023-02-17 07:31:08 +070024 default: 'refs/heads/lts-v2.8'
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +070025 - string:
26 name: TF_GERRIT_REFSPEC
Paul Sokolovsky00244692023-02-16 00:09:16 +070027 default: '+refs/heads/lts-v2.8:refs/remotes/origin/lts-v2.8'
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +070028 - string:
29 name: TFTF_GERRIT_PROJECT
30 default: 'TF-A/tf-a-tests'
31 - string:
32 name: TFTF_GERRIT_BRANCH
Paul Sokolovsky632f7e72023-02-17 07:31:08 +070033 default: 'refs/heads/lts-v2.8'
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +070034 - string:
35 name: TFTF_GERRIT_REFSPEC
Paul Sokolovsky632f7e72023-02-17 07:31:08 +070036 default: '+refs/heads/lts-v2.8:refs/remotes/origin/lts-v2.8'
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +070037 - string:
38 name: CI_REFSPEC
Paul Sokolovsky73103e72023-02-16 19:25:19 +070039 default: '+refs/heads/lts-v2.8:refs/remotes/origin/lts-v2.8'
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +070040 - string:
41 name: SHARE_FOLDER
42 default: '/srv/shared/staging/${JOB_NAME}/${BUILD_NUMBER}'
43 description: 'Folder containing shared repositories for downstream pipeline jobs'
Paul Sokolovsky0efeae12023-03-14 22:36:50 +070044 triggers:
45 - timed: 'H H(0-7) * * 3,6'
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +070046 wrappers:
47 - credentials-binding:
48 - ssh-user-private-key:
49 credential-id: TFA_CI_BOT_USER_SSH_KEY
50 key-file-variable: CI_BOT_KEY
51 username-variable: CI_BOT_USERNAME
52 passphrase-variable: ''
53 - workspace-cleanup
54 - timestamps
55 builders:
56 - shell:
57 !include-raw: scripts/clone.sh
58 - shell: |
59 #!/bin/bash
60 set -e
61 cat << EOF > tf-a-env.param
62 GERRIT_PROJECT=${TF_GERRIT_PROJECT}
63 GERRIT_BRANCH=${TF_GERRIT_BRANCH}
64 GERRIT_REFSPEC=${TF_GERRIT_REFSPEC}
65 QA_SERVER_PROJECT=${JOB_NAME}
66 QA_SERVER_VERSION=${BUILD_NUMBER}
67 SHARE_FOLDER=${SHARE_FOLDER}
68 EOF
69 cat << EOF > tf-a-tests-env.param
70 GERRIT_PROJECT=${TFTF_GERRIT_PROJECT}
71 GERRIT_BRANCH=${TFTF_GERRIT_BRANCH}
72 GERRIT_REFSPEC=${TFTF_GERRIT_REFSPEC}
73 QA_SERVER_PROJECT=${JOB_NAME}
74 QA_SERVER_VERSION=${BUILD_NUMBER}
75 SHARE_FOLDER=${SHARE_FOLDER}
76 EOF
77 - multijob:
78 name: Run static checks on the code
79 condition: COMPLETED
80 projects:
81 - name: tf-a-static-checks
82 current-parameters: true
83 kill-phase-on: NEVER
84 property-file: tf-a-env.param
85 - multijob:
86 name: Build Trusted Firmware
87 condition: COMPLETED
88 projects:
89 - name: tf-a-ci-gateway
90 alias: tf-l1-build-fvp tf-l2-build-fvp
91 current-parameters: true
92 kill-phase-on: NEVER
93 predefined-parameters: |
94 TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp
95 property-file: tf-a-env.param
96 - name: tf-a-ci-gateway
97 alias: tf-l1-build-juno tf-l2-build-juno
98 current-parameters: true
99 kill-phase-on: NEVER
100 predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno
101 property-file: tf-a-env.param
102 - name: tf-a-ci-gateway
103 alias: tf-l1-build-plat
104 current-parameters: true
105 kill-phase-on: NEVER
106 predefined-parameters: TEST_GROUPS=tf-l1-build-plat
107 property-file: tf-a-env.param
108 - name: tf-a-ci-gateway
109 alias: tf-l1-build-clang
110 current-parameters: true
111 kill-phase-on: NEVER
112 predefined-parameters: TEST_GROUPS=tf-l1-build-clang
113 property-file: tf-a-env.param
114 - multijob:
115 name: TFTF Tests for FVP
116 condition: COMPLETED
117 projects:
118 - name: tf-a-ci-gateway
119 alias: tftf-l2-fwu
120 current-parameters: true
121 kill-phase-on: NEVER
122 predefined-parameters: TEST_GROUPS=tftf-l2-fwu
123 property-file: tf-a-tests-env.param
124 - name: tf-a-ci-gateway
125 alias: tftf-l1-fvp tftf-l2-fvp-auxiliary
126 current-parameters: true
127 kill-phase-on: NEVER
128 predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l2-fvp-auxiliary
129 property-file: tf-a-tests-env.param
130 - name: tf-a-ci-gateway
131 alias: tftf-l2-fvp tftf-l2-fvp-dynamiq
132 current-parameters: true
133 kill-phase-on: NEVER
134 predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq
135 property-file: tf-a-tests-env.param
136 - name: tf-a-ci-gateway
137 alias: tftf-l2-extensive-tests-fvp
138 current-parameters: true
139 kill-phase-on: NEVER
140 predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp
141 property-file: tf-a-tests-env.param
Paul Sokolovsky04cae432023-02-17 23:46:40 +0700142 - multijob:
143 name: Boot up to the Linux shell prompt
144 condition: COMPLETED
145 projects:
146 - name: tf-a-ci-gateway
147 alias: tf-l2-boot-tests-foundation
148 current-parameters: true
149 kill-phase-on: NEVER
150 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-foundation
151 property-file: tf-a-env.param
Paul Sokolovsky3c721312023-02-18 02:37:54 +0700152 - name: tf-a-ci-gateway
153 alias: tf-l2-boot-tests-aarch32
154 current-parameters: true
155 kill-phase-on: NEVER
156 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
157 property-file: tf-a-env.param
Paul Sokolovsky04cae432023-02-17 23:46:40 +0700158 - name: tf-a-ci-gateway
159 alias: tf-l2-boot-tests-rootfs
160 current-parameters: true
161 kill-phase-on: NEVER
162 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
163 property-file: tf-a-env.param
164 - name: tf-a-ci-gateway
165 alias: tf-l2-boot-tests-spm-mm
166 current-parameters: true
167 kill-phase-on: NEVER
168 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm
169 property-file: tf-a-env.param
170 - name: tf-a-ci-gateway
171 alias: spm-l2-boot-tests
172 current-parameters: true
173 kill-phase-on: NEVER
174 predefined-parameters: TEST_GROUPS=spm-l2-boot-tests
175 property-file: tf-a-env.param
Paul Sokolovsky3c721312023-02-18 02:37:54 +0700176 - multijob:
177 name: Boot up to the Linux shell prompt - Part 2
178 condition: COMPLETED
179 projects:
180 - name: tf-a-ci-gateway
181 alias: tf-l2-boot-tests-misc
182 current-parameters: true
183 kill-phase-on: NEVER
184 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
185 property-file: tf-a-env.param
186 - name: tf-a-ci-gateway
187 alias: tf-l2-boot-tests-latest
188 current-parameters: true
189 kill-phase-on: NEVER
190 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
191 property-file: tf-a-env.param
192 - name: tf-a-ci-gateway
193 alias: tf-l2-boot-tests-cortex
194 current-parameters: true
195 kill-phase-on: NEVER
196 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex
197 property-file: tf-a-env.param
Paul Sokolovsky51508072023-02-18 08:46:48 +0700198 - name: tf-a-ci-gateway
199 alias: tf-l2-boot-tests-gicv2
200 current-parameters: true
201 kill-phase-on: NEVER
202 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
203 property-file: tf-a-env.param
204 - name: tf-a-ci-gateway
205 alias: tf-l2-boot-tests-bl2_el3
206 current-parameters: true
207 kill-phase-on: NEVER
208 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3
209 property-file: tf-a-env.param
210 - name: tf-a-ci-gateway
211 alias: qemu-boot-tests
212 current-parameters: true
213 kill-phase-on: NEVER
214 predefined-parameters: TEST_GROUPS=qemu-boot-tests
215 property-file: tf-a-env.param
Paul Sokolovsky3c721312023-02-18 02:37:54 +0700216 - multijob:
217 name: Juno Boot Tests
218 condition: COMPLETED
219 projects:
220 - name: tf-a-ci-gateway
221 alias: tf-l1-boot-tests-juno
222 current-parameters: true
223 kill-phase-on: NEVER
224 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-juno
225 property-file: tf-a-env.param
Paul Sokolovsky51508072023-02-18 08:46:48 +0700226 - name: tf-a-ci-gateway
227 alias: tf-l2-boot-tests-juno
228 current-parameters: true
229 kill-phase-on: NEVER
230 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
231 property-file: tf-a-env.param
232 - name: tf-a-ci-gateway
233 alias: tftf-l1-juno
234 current-parameters: true
235 kill-phase-on: NEVER
236 predefined-parameters: TEST_GROUPS=tftf-l1-juno
237 property-file: tf-a-env.param
Paul Sokolovsky3c721312023-02-18 02:37:54 +0700238 - multijob:
239 name: Miscellaneous tests
240 condition: COMPLETED
241 projects:
242 - name: tf-a-ci-gateway
243 alias: tf-l3-boot-tests-css
244 current-parameters: true
245 kill-phase-on: NEVER
246 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
247 property-file: tf-a-env.param
Paul Sokolovsky51508072023-02-18 08:46:48 +0700248 - name: tf-a-ci-gateway
249 alias: tf-l3-boot-tests-spm-mm
250 current-parameters: true
251 kill-phase-on: NEVER
252 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm
253 property-file: tf-a-env.param
254 - name: tf-a-ci-gateway
255 alias: tf-l3-boot-tests-ras
256 current-parameters: true
257 kill-phase-on: NEVER
258 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
259 property-file: tf-a-env.param
260 - name: tf-a-ci-gateway
261 alias: tf-l3-boot-tests-misc
262 current-parameters: true
263 kill-phase-on: NEVER
264 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
265 property-file: tf-a-env.param
266 - name: tf-a-ci-gateway
267 alias: spm-l3-boot-tests
268 current-parameters: true
269 kill-phase-on: NEVER
270 predefined-parameters: TEST_GROUPS=spm-l3-boot-tests
271 property-file: tf-a-env.param
272 - name: tf-a-ci-gateway
273 alias: tf-l1-boot-tests-plat
274 current-parameters: true
275 kill-phase-on: NEVER
276 predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-plat
277 property-file: tf-a-env.param
278 - multijob:
279 name: Code coverage
280 condition: COMPLETED
281 projects:
282 - name: tf-a-ci-gateway
283 current-parameters: true
284 kill-phase-on: NEVER
285 predefined-parameters: TEST_GROUPS=tf-l3-code-coverage
286 property-file: tf-a-env.param
Paul Sokolovsky63cb8f22023-02-15 23:57:14 +0700287 - multijob:
288 name: Run doc build check
289 condition: COMPLETED
290 projects:
291 - name: tf-a-ci-gateway
292 current-parameters: true
293 kill-phase-on: NEVER
294 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
295 property-file: tf-a-env.param
296 - multijob:
297 name: Generate visualizations
298 condition: COMPLETED
299 projects:
300# - name: tf-a-sloc-visualization
301# current-parameters: true
302# kill-phase-on: NEVER
303# property-file: tf-a-env.param
304# - name: tf-a-test-category-visualization
305# current-parameters: true
306# kill-phase-on: NEVER
307# property-file: tf-a-env.param
308 - name: tf-a-test-result-visualization
309 current-parameters: true
310 kill-phase-on: NEVER
311 predefined-parameters: TARGET_BUILD=${JOB_NAME}/${BUILD_NUMBER}
312 property-file: tf-a-env.param
313 # Run the unstable TF-A Tests at the end but do not let their results
314 # participate in the job's success/failure.
315 - trigger-builds:
316 - project: tf-a-ci-gateway
317 current-parameters: True
318 property-file: tf-a-tests-env.param
319 property-file-fail-on-missing: True
320 predefined-parameters: TEST_GROUPS=tftf-unstable
321 block: True
322 block-thresholds:
323 build-step-failure-threshold: never
324 unstable-threshold: never
325 failure-threshold: never
326 # If all tests passed, catch up the master branch with integration
Paul Sokolovsky30681382023-02-16 00:13:17 +0700327# - conditional-step:
328# condition-kind: current-status
329# condition-best: SUCCESS
330# condition-worst: SUCCESS
331# steps:
332# - shell: |-
333# #!/bin/bash
334# if [ $MULTIJOB_FAILED -eq 0 ]; then
335# echo "Proceed with integration->master fast-forward merge"
336# bash "${WORKSPACE}/tf-a-ci-scripts/script/scratch_scripts/fast-forward-master.sh"
337# else
338# echo "Do not proceed with integration->master merge as sub-jobs failed"
339# fi
Paul Sokolovsky0efeae12023-03-14 22:36:50 +0700340 publishers:
341 - email:
342 recipients: okash@google.com, paul.sokolovsky@linaro.org, bipin.ravi@arm.com, vwadekar@nvidia.com, joanna.farley@arm.com