blob: 64780e4e9187e51be34cccac73281e0858908445 [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:
109 - name: tf-ci-gateway
110 current-parameters: true
111 kill-phase-on: NEVER
112 predefined-parameters: |-
113 REPO_UNDER_TEST=trusted-firmware
114 property-file: tf-a-env.param
115
116 - multijob:
117 name: Build Trusted Firmware
118 condition: COMPLETED
119 projects:
120 - name: tf-ci-gateway
121 current-parameters: true
122 kill-phase-on: NEVER
123 predefined-parameters: |
124 TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp
125 property-file: tf-a-env.param
126 - name: tf-ci-gateway
127 current-parameters: true
128 kill-phase-on: NEVER
129 predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno
130 property-file: tf-a-env.param
131 - name: tf-ci-gateway
132 current-parameters: true
133 kill-phase-on: NEVER
134 predefined-parameters: TEST_GROUPS=tf-l1-build-plat
135 property-file: tf-a-env.param
136 - name: tf-ci-gateway
137 current-parameters: true
138 kill-phase-on: NEVER
139 predefined-parameters: TEST_GROUPS=tf-l1-build-clang
140 property-file: tf-a-env.param
141
142 - multijob:
143 name: TFTF Tests
144 condition: COMPLETED
145 projects:
146 - name: tf-ci-gateway
147 current-parameters: true
148 kill-phase-on: NEVER
149 predefined-parameters: TEST_GROUPS=tftf-l2-fwu
150 property-file: tf-a-tests-env.param
151 - name: tf-ci-gateway
152 current-parameters: true
153 kill-phase-on: NEVER
154 predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l1-spm tftf-l1-juno tftf-l2-fvp-auxiliary
155 property-file: tf-a-tests-env.param
156 - name: tf-ci-gateway
157 current-parameters: true
158 kill-phase-on: NEVER
159 predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq
160 property-file: tf-a-tests-env.param
161 - name: tf-ci-gateway
162 current-parameters: true
163 kill-phase-on: NEVER
164 predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp
165 property-file: tf-a-tests-env.param
166
167 - multijob:
168 name: Boot up to the Linux shell prompt
169 condition: COMPLETED
170 projects:
171 - name: tf-ci-gateway
172 current-parameters: true
173 kill-phase-on: NEVER
174 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-foundation
175 property-file: tf-a-env.param
176 - name: tf-ci-gateway
177 current-parameters: true
178 kill-phase-on: NEVER
179 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
180 property-file: tf-a-env.param
181 - name: tf-ci-gateway
182 current-parameters: true
183 kill-phase-on: NEVER
184 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
185 property-file: tf-a-env.param
186 - name: tf-ci-gateway
187 current-parameters: true
188 kill-phase-on: NEVER
189 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
190 property-file: tf-a-env.param
191 - name: tf-ci-gateway
192 current-parameters: true
193 kill-phase-on: NEVER
194 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm
195 property-file: tf-a-env.param
196
197 - multijob:
198 name: Boot up to the Linux shell prompt - Part 2
199 condition: COMPLETED
200 projects:
201 - name: tf-ci-gateway
202 current-parameters: true
203 kill-phase-on: NEVER
204 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
205 property-file: tf-a-env.param
206 - name: tf-ci-gateway
207 current-parameters: true
208 kill-phase-on: NEVER
209 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
210 property-file: tf-a-env.param
211 - name: tf-ci-gateway
212 current-parameters: true
213 kill-phase-on: NEVER
214 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex
215 property-file: tf-a-env.param
216 - name: tf-ci-gateway
217 current-parameters: true
218 kill-phase-on: NEVER
219 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
220 property-file: tf-a-env.param
221 - name: tf-ci-gateway
222 current-parameters: true
223 kill-phase-on: NEVER
224 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3
225 property-file: tf-a-env.param
226
227 - multijob:
228 name: Miscellaneous tests
229 condition: COMPLETED
230 projects:
231 - name: tf-ci-gateway
232 current-parameters: true
233 kill-phase-on: NEVER
234 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
235 property-file: tf-a-env.param
236 - name: tf-ci-gateway
237 current-parameters: true
238 kill-phase-on: NEVER
239 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm
240 property-file: tf-a-env.param
241 - name: tf-ci-gateway
242 current-parameters: true
243 kill-phase-on: NEVER
244 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
245 property-file: tf-a-env.param
246 - name: tf-ci-gateway
247 current-parameters: true
248 kill-phase-on: NEVER
249 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
250 property-file: tf-a-env.param
251
252 - multijob:
253 name: Code coverage
254 condition: COMPLETED
255 projects:
256 - name: tf-ci-gateway
257 current-parameters: true
258 kill-phase-on: NEVER
259 predefined-parameters: TEST_GROUPS=tf-l3-code-coverage
260 property-file: tf-a-env.param
261
262 - multijob:
263 name: Run doc build check
264 condition: COMPLETED
265 projects:
266 - name: tf-ci-gateway
267 current-parameters: true
268 kill-phase-on: NEVER
269 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
270 property-file: tf-a-env.param
271
272 # Run the unstable TF-A Tests at the end but do not let their results
273 # participate in the job's success/failure.
274 - trigger-builds:
275 - project: tf-ci-gateway
276 same-node: True
277 current-parameters: True
278 property-file: tf-a-tests-env.param
279 property-file-fail-on-missing: True
280 predefined-parameters: TEST_GROUPS=tftf-unstable
281 block: True
282 block-thresholds:
283 build-step-failure-threshold: never
284 unstable-threshold: never
285 failure-threshold: never
286
287 # If all tests passed, catch up the master branch with integration
288 - conditional-step:
289 condition-kind: current-status
290 condition-best: SUCCESS
291 condition-worst: SUCCESS
292 steps:
293 - shell: bash "${WORKSPACE}/tf-a-ci-scripts/script/scratch_scripts/fast-forward-master.sh