blob: fbcbe8f099db1e56cac936625fecf4e7a14d8e55 [file] [log] [blame]
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -06001- scm:
2 name: tf-a-ci-scripts
3 scm:
4 - git:
5 url: https://git.trustedfirmware.org/ci/tf-a-ci-scripts.git
6 refspec: +refs/heads/master:refs/remotes/origin/master
7 name: origin
8 branches:
9 - refs/heads/master
10 basedir: tf-a-ci-scripts
11 skip-tag: true
12 shallow-clone: true
13 wipe-workspace: false
14- scm:
15 name: trusted-firmware-a
16 scm:
17 - git:
18 url: https://review.trustedfirmware.org/${TF_GERRIT_PROJECT}
19 refspec: ${TF_GERRIT_REFSPEC}
20 name: origin
21 branches:
22 - ${TF_GERRIT_BRANCH}
23 basedir: trusted-firmware-a
24 skip-tag: true
25 shallow-clone: false
26 wipe-workspace: false
27- job:
28 name: tf-main
29 node: master
30 project-type: multijob
31 concurrent: true
32 disabled: false
33 description: Main CI job for Trusted Firmware.
34 properties:
35 - throttle:
36 option: project
37 enabled: true
38 max-total: 5
39 - build-discarder:
40 days-to-keep: 180
41 num-to-keep: 180
42 - authorization:
43 anonymous:
44 - job-read
45 - job-extended-read
46 lsandov1:
47 - job-read
48 - job-extended-read
49 - job-build
50 - job-cancel
51 - run-update
52 parameters:
53 - string:
54 name: TF_GERRIT_PROJECT
55 default: 'TF-A/trusted-firmware-a'
56 - string:
57 name: TF_GERRIT_BRANCH
58 default: 'master'
59 - string:
60 name: TF_GERRIT_REFSPEC
61 default: 'refs/heads/master'
62 - string:
63 name: TFTF_GERRIT_PROJECT
64 default: 'TF-A/tf-a-tests'
65 - string:
66 name: TFTF_GERRIT_BRANCH
67 default: 'master'
68 - string:
69 name: TFTF_GERRIT_REFSPEC
70 default: 'refs/heads/master'
71 scm:
72 - tf-a-ci-scripts
73 - trusted-firmware-a
74 wrappers:
75 - credentials-binding:
76 - ssh-user-private-key:
77 credential-id: TFA_CI_BOT_USER_SSH_KEY
78 key-file-variable: CI_BOT_KEY
79 username-variable: CI_BOT_USERNAME
80 passphrase-variable: ''
81 - workspace-cleanup
82 - timestamps
83 builders:
Fathi Boudra9c8a9452020-12-08 22:16:57 +010084 - shell: |
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060085 #!/bin/bash
86
87 set -e
88
89 cat << EOF > tf-a-env.param
90 GERRIT_PROJECT=${TF_GERRIT_PROJECT}
91 GERRIT_BRANCH=${TF_GERRIT_BRANCH}
92 GERRIT_REFSPEC=${TF_GERRIT_REFSPEC}
Milosz Wasilewski10438582020-12-03 11:36:21 +000093 QA_SERVER_PROJECT=${JOB_NAME}
94 QA_SERVER_VERSION=${BUILD_NUMBER}
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060095 EOF
96
97 cat << EOF > tf-a-tests-env.param
98 GERRIT_PROJECT=${TFTF_GERRIT_PROJECT}
99 GERRIT_BRANCH=${TFTF_GERRIT_BRANCH}
100 GERRIT_REFSPEC=${TFTF_GERRIT_REFSPEC}
Milosz Wasilewski10438582020-12-03 11:36:21 +0000101 QA_SERVER_PROJECT=${JOB_NAME}
102 QA_SERVER_VERSION=${BUILD_NUMBER}
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600103 EOF
104
105 - multijob:
106 name: Run static checks on the code
107 condition: COMPLETED
108 projects:
Leonardo Sandoval46226da2021-01-15 13:55:56 -0600109 - name: tf-static-checks
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600110 current-parameters: true
111 kill-phase-on: NEVER
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600112 property-file: tf-a-env.param
113
114 - multijob:
115 name: Build Trusted Firmware
116 condition: COMPLETED
117 projects:
118 - name: tf-ci-gateway
119 current-parameters: true
120 kill-phase-on: NEVER
121 predefined-parameters: |
122 TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp
123 property-file: tf-a-env.param
124 - name: tf-ci-gateway
125 current-parameters: true
126 kill-phase-on: NEVER
127 predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno
128 property-file: tf-a-env.param
129 - name: tf-ci-gateway
130 current-parameters: true
131 kill-phase-on: NEVER
132 predefined-parameters: TEST_GROUPS=tf-l1-build-plat
133 property-file: tf-a-env.param
134 - name: tf-ci-gateway
135 current-parameters: true
136 kill-phase-on: NEVER
137 predefined-parameters: TEST_GROUPS=tf-l1-build-clang
138 property-file: tf-a-env.param
139
140 - multijob:
141 name: TFTF Tests
142 condition: COMPLETED
143 projects:
144 - name: tf-ci-gateway
145 current-parameters: true
146 kill-phase-on: NEVER
147 predefined-parameters: TEST_GROUPS=tftf-l2-fwu
148 property-file: tf-a-tests-env.param
149 - name: tf-ci-gateway
150 current-parameters: true
151 kill-phase-on: NEVER
Leonardo Sandoval67ac6f12020-12-10 11:02:26 -0600152 predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l1-juno tftf-l2-fvp-auxiliary
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600153 property-file: tf-a-tests-env.param
154 - name: tf-ci-gateway
155 current-parameters: true
156 kill-phase-on: NEVER
157 predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq
158 property-file: tf-a-tests-env.param
159 - name: tf-ci-gateway
160 current-parameters: true
161 kill-phase-on: NEVER
162 predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp
163 property-file: tf-a-tests-env.param
164
165 - multijob:
166 name: Boot up to the Linux shell prompt
167 condition: COMPLETED
168 projects:
169 - name: tf-ci-gateway
170 current-parameters: true
171 kill-phase-on: NEVER
172 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-foundation
173 property-file: tf-a-env.param
174 - name: tf-ci-gateway
175 current-parameters: true
176 kill-phase-on: NEVER
177 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
178 property-file: tf-a-env.param
179 - name: tf-ci-gateway
180 current-parameters: true
181 kill-phase-on: NEVER
182 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
183 property-file: tf-a-env.param
184 - name: tf-ci-gateway
185 current-parameters: true
186 kill-phase-on: NEVER
187 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
188 property-file: tf-a-env.param
189 - name: tf-ci-gateway
190 current-parameters: true
191 kill-phase-on: NEVER
Leonardo Sandoval67ac6f12020-12-10 11:02:26 -0600192 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600193 property-file: tf-a-env.param
194
195 - multijob:
196 name: Boot up to the Linux shell prompt - Part 2
197 condition: COMPLETED
198 projects:
199 - name: tf-ci-gateway
200 current-parameters: true
201 kill-phase-on: NEVER
202 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
203 property-file: tf-a-env.param
204 - name: tf-ci-gateway
205 current-parameters: true
206 kill-phase-on: NEVER
207 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
208 property-file: tf-a-env.param
209 - name: tf-ci-gateway
210 current-parameters: true
211 kill-phase-on: NEVER
212 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex
213 property-file: tf-a-env.param
214 - name: tf-ci-gateway
215 current-parameters: true
216 kill-phase-on: NEVER
217 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
218 property-file: tf-a-env.param
219 - name: tf-ci-gateway
220 current-parameters: true
221 kill-phase-on: NEVER
222 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3
223 property-file: tf-a-env.param
224
225 - multijob:
226 name: Miscellaneous tests
227 condition: COMPLETED
228 projects:
229 - name: tf-ci-gateway
230 current-parameters: true
231 kill-phase-on: NEVER
232 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
233 property-file: tf-a-env.param
234 - name: tf-ci-gateway
235 current-parameters: true
236 kill-phase-on: NEVER
Leonardo Sandoval67ac6f12020-12-10 11:02:26 -0600237 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600238 property-file: tf-a-env.param
239 - name: tf-ci-gateway
240 current-parameters: true
241 kill-phase-on: NEVER
242 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
243 property-file: tf-a-env.param
244 - name: tf-ci-gateway
245 current-parameters: true
246 kill-phase-on: NEVER
247 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
248 property-file: tf-a-env.param
249
250 - multijob:
251 name: Code coverage
252 condition: COMPLETED
253 projects:
254 - name: tf-ci-gateway
255 current-parameters: true
256 kill-phase-on: NEVER
257 predefined-parameters: TEST_GROUPS=tf-l3-code-coverage
258 property-file: tf-a-env.param
259
260 - multijob:
261 name: Run doc build check
262 condition: COMPLETED
263 projects:
264 - name: tf-ci-gateway
265 current-parameters: true
266 kill-phase-on: NEVER
267 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
268 property-file: tf-a-env.param
269
270 # Run the unstable TF-A Tests at the end but do not let their results
271 # participate in the job's success/failure.
272 - trigger-builds:
273 - project: tf-ci-gateway
274 same-node: True
275 current-parameters: True
276 property-file: tf-a-tests-env.param
277 property-file-fail-on-missing: True
278 predefined-parameters: TEST_GROUPS=tftf-unstable
279 block: True
280 block-thresholds:
281 build-step-failure-threshold: never
282 unstable-threshold: never
283 failure-threshold: never
284
285 # If all tests passed, catch up the master branch with integration
286 - conditional-step:
287 condition-kind: current-status
288 condition-best: SUCCESS
289 condition-worst: SUCCESS
290 steps:
291 - shell: bash "${WORKSPACE}/tf-a-ci-scripts/script/scratch_scripts/fast-forward-master.sh