blob: 807ac61fb038d237dda086bceccb5350e14e6fc4 [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:
Leonardo Sandovala4feb552021-03-02 12:10:21 -060040 days-to-keep: 14
41 num-to-keep: 60
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060042 - authorization:
Leonardo Sandovalebca8822021-01-25 18:20:04 -060043 !include: authorization.yaml.inc
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060044 parameters:
45 - string:
46 name: TF_GERRIT_PROJECT
47 default: 'TF-A/trusted-firmware-a'
48 - string:
49 name: TF_GERRIT_BRANCH
Leonardo Sandoval3da340d2021-02-09 14:53:30 -060050 default: 'refs/heads/integration'
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060051 - string:
52 name: TF_GERRIT_REFSPEC
Leonardo Sandoval3da340d2021-02-09 14:53:30 -060053 default: '+refs/heads/integration:refs/remotes/origin/integration'
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060054 - string:
55 name: TFTF_GERRIT_PROJECT
56 default: 'TF-A/tf-a-tests'
57 - string:
58 name: TFTF_GERRIT_BRANCH
Leonardo Sandoval3da340d2021-02-09 14:53:30 -060059 default: 'refs/heads/master'
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060060 - string:
61 name: TFTF_GERRIT_REFSPEC
Leonardo Sandoval3da340d2021-02-09 14:53:30 -060062 default: '+refs/heads/master:refs/remotes/origin/master'
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060063 scm:
64 - tf-a-ci-scripts
65 - trusted-firmware-a
66 wrappers:
67 - credentials-binding:
68 - ssh-user-private-key:
69 credential-id: TFA_CI_BOT_USER_SSH_KEY
70 key-file-variable: CI_BOT_KEY
71 username-variable: CI_BOT_USERNAME
72 passphrase-variable: ''
73 - workspace-cleanup
74 - timestamps
75 builders:
Fathi Boudra9c8a9452020-12-08 22:16:57 +010076 - shell: |
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060077 #!/bin/bash
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060078 set -e
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060079 cat << EOF > tf-a-env.param
80 GERRIT_PROJECT=${TF_GERRIT_PROJECT}
81 GERRIT_BRANCH=${TF_GERRIT_BRANCH}
82 GERRIT_REFSPEC=${TF_GERRIT_REFSPEC}
Milosz Wasilewski10438582020-12-03 11:36:21 +000083 QA_SERVER_PROJECT=${JOB_NAME}
84 QA_SERVER_VERSION=${BUILD_NUMBER}
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060085 EOF
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060086 cat << EOF > tf-a-tests-env.param
87 GERRIT_PROJECT=${TFTF_GERRIT_PROJECT}
88 GERRIT_BRANCH=${TFTF_GERRIT_BRANCH}
89 GERRIT_REFSPEC=${TFTF_GERRIT_REFSPEC}
Milosz Wasilewski10438582020-12-03 11:36:21 +000090 QA_SERVER_PROJECT=${JOB_NAME}
91 QA_SERVER_VERSION=${BUILD_NUMBER}
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060092 EOF
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060093 - multijob:
94 name: Run static checks on the code
95 condition: COMPLETED
96 projects:
Leonardo Sandoval46226da2021-01-15 13:55:56 -060097 - name: tf-static-checks
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -060098 current-parameters: true
99 kill-phase-on: NEVER
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600100 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600101 - multijob:
102 name: Build Trusted Firmware
103 condition: COMPLETED
104 projects:
105 - name: tf-ci-gateway
106 current-parameters: true
107 kill-phase-on: NEVER
108 predefined-parameters: |
109 TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp
110 property-file: tf-a-env.param
111 - name: tf-ci-gateway
112 current-parameters: true
113 kill-phase-on: NEVER
114 predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno
115 property-file: tf-a-env.param
116 - name: tf-ci-gateway
117 current-parameters: true
118 kill-phase-on: NEVER
119 predefined-parameters: TEST_GROUPS=tf-l1-build-plat
120 property-file: tf-a-env.param
121 - name: tf-ci-gateway
122 current-parameters: true
123 kill-phase-on: NEVER
124 predefined-parameters: TEST_GROUPS=tf-l1-build-clang
125 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600126 - multijob:
127 name: TFTF Tests
128 condition: COMPLETED
129 projects:
130 - name: tf-ci-gateway
131 current-parameters: true
132 kill-phase-on: NEVER
133 predefined-parameters: TEST_GROUPS=tftf-l2-fwu
134 property-file: tf-a-tests-env.param
135 - name: tf-ci-gateway
136 current-parameters: true
137 kill-phase-on: NEVER
Leonardo Sandoval67ac6f12020-12-10 11:02:26 -0600138 predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l1-juno tftf-l2-fvp-auxiliary
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600139 property-file: tf-a-tests-env.param
140 - name: tf-ci-gateway
141 current-parameters: true
142 kill-phase-on: NEVER
143 predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq
144 property-file: tf-a-tests-env.param
145 - name: tf-ci-gateway
146 current-parameters: true
147 kill-phase-on: NEVER
148 predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp
149 property-file: tf-a-tests-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600150 - multijob:
151 name: Boot up to the Linux shell prompt
152 condition: COMPLETED
153 projects:
154 - name: tf-ci-gateway
155 current-parameters: true
156 kill-phase-on: NEVER
157 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-foundation
158 property-file: tf-a-env.param
159 - name: tf-ci-gateway
160 current-parameters: true
161 kill-phase-on: NEVER
162 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
163 property-file: tf-a-env.param
164 - name: tf-ci-gateway
165 current-parameters: true
166 kill-phase-on: NEVER
167 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
168 property-file: tf-a-env.param
169 - name: tf-ci-gateway
170 current-parameters: true
171 kill-phase-on: NEVER
172 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
173 property-file: tf-a-env.param
174 - name: tf-ci-gateway
175 current-parameters: true
176 kill-phase-on: NEVER
Leonardo Sandoval67ac6f12020-12-10 11:02:26 -0600177 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600178 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600179 - multijob:
180 name: Boot up to the Linux shell prompt - Part 2
181 condition: COMPLETED
182 projects:
183 - name: tf-ci-gateway
184 current-parameters: true
185 kill-phase-on: NEVER
186 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
187 property-file: tf-a-env.param
188 - name: tf-ci-gateway
189 current-parameters: true
190 kill-phase-on: NEVER
191 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
192 property-file: tf-a-env.param
193 - name: tf-ci-gateway
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
198 - name: tf-ci-gateway
199 current-parameters: true
200 kill-phase-on: NEVER
201 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
202 property-file: tf-a-env.param
203 - name: tf-ci-gateway
204 current-parameters: true
205 kill-phase-on: NEVER
206 predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3
207 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600208 - multijob:
209 name: Miscellaneous tests
210 condition: COMPLETED
211 projects:
212 - name: tf-ci-gateway
213 current-parameters: true
214 kill-phase-on: NEVER
215 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
216 property-file: tf-a-env.param
217 - name: tf-ci-gateway
218 current-parameters: true
219 kill-phase-on: NEVER
Leonardo Sandoval67ac6f12020-12-10 11:02:26 -0600220 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600221 property-file: tf-a-env.param
222 - name: tf-ci-gateway
223 current-parameters: true
224 kill-phase-on: NEVER
225 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
226 property-file: tf-a-env.param
227 - name: tf-ci-gateway
228 current-parameters: true
229 kill-phase-on: NEVER
230 predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
231 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600232 - multijob:
233 name: Code coverage
234 condition: COMPLETED
235 projects:
236 - name: tf-ci-gateway
237 current-parameters: true
238 kill-phase-on: NEVER
239 predefined-parameters: TEST_GROUPS=tf-l3-code-coverage
240 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600241 - multijob:
242 name: Run doc build check
243 condition: COMPLETED
244 projects:
245 - name: tf-ci-gateway
246 current-parameters: true
247 kill-phase-on: NEVER
248 predefined-parameters: TEST_GROUPS=tf-l1-check-docs
249 property-file: tf-a-env.param
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600250 # Run the unstable TF-A Tests at the end but do not let their results
251 # participate in the job's success/failure.
252 - trigger-builds:
253 - project: tf-ci-gateway
254 same-node: True
255 current-parameters: True
256 property-file: tf-a-tests-env.param
257 property-file-fail-on-missing: True
258 predefined-parameters: TEST_GROUPS=tftf-unstable
259 block: True
260 block-thresholds:
261 build-step-failure-threshold: never
262 unstable-threshold: never
263 failure-threshold: never
Leonardo Sandoval2902d2f2020-11-25 12:32:31 -0600264 # If all tests passed, catch up the master branch with integration
265 - conditional-step:
266 condition-kind: current-status
267 condition-best: SUCCESS
268 condition-worst: SUCCESS
269 steps:
270 - shell: bash "${WORKSPACE}/tf-a-ci-scripts/script/scratch_scripts/fast-forward-master.sh