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