blob: 7f54ef63be81f849c5c82d30c2b0f73f501de4b1 [file] [log] [blame]
Manish V Badarkhe62a10a42022-09-28 19:08:44 +01001- job:
2 name: manishvbarm-tf-a-builder
Manish V Badarkhe3fafadf2023-06-19 12:21:06 +01003 node: docker-amd64-tf-a-jammy
Manish V Badarkhe62a10a42022-09-28 19:08:44 +01004 project-type: freestyle
5 concurrent: true
6 disabled: false
7 defaults: global
Paul Sokolovsky528f0dd2024-11-02 22:15:53 +07008 description: |
Manish V Badarkhe62a10a42022-09-28 19:08:44 +01009 Trusted Firmware A (TF-A) builder
10 properties:
11 - build-discarder:
12 days-to-keep: 15
13 - authorization:
14 !include: manishvbarm-authorization.yaml.inc
15 parameters:
16 - string:
17 name: import_cc
18 - string:
19 name: TEST_CONFIG
20 description: |
21 Original test configuration.
22 - string:
23 name: TEST_DESC
24 description: |
25 Expanded and normalized test configuration, aka "test description"
26 - string:
27 name: TF_GERRIT_PROJECT
28 default: 'TF-A/trusted-firmware-a'
29 - string:
30 name: TF_GERRIT_BRANCH
31 default: 'refs/heads/master'
32 - string:
33 name: TF_GERRIT_REFSPEC
34 default: '+refs/heads/master:refs/remotes/origin/master'
35 - string:
36 name: TFTF_GERRIT_PROJECT
37 default: 'TF-A/tf-a-tests'
38 - string:
39 name: TFTF_GERRIT_BRANCH
40 default: 'refs/heads/master'
41 - string:
42 name: TFTF_GERRIT_REFSPEC
43 default: '+refs/heads/master:refs/remotes/origin/master'
44 - string:
45 name: DOCKER_REGISTRY
46 default: '987685672616.dkr.ecr.us-east-1.amazonaws.com'
47 - string:
Manish V Badarkhe62a10a42022-09-28 19:08:44 +010048 name: JUNO_ROOTFS_URL
49 default: 'http://releases.linaro.org/openembedded/aarch64/17.01/linaro-image-minimal-genericarmv8-20170127-888.rootfs.tar.gz'
50 - string:
51 name: MBEDTLS_URL
52 default: 'https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.28.0.tar.gz'
53 - string:
54 name: GERRIT_PATCHSET_NUMBER
55 default: ''
56 - string:
57 name: GERRIT_CHANGE_NUMBER
58 default: ''
59 - string:
60 name: GERRIT_HOST
61 default: 'review.trustedfirmware.org'
62 - string:
63 name: QA_SERVER_TEAM
Manish V Badarkheb18b8442022-09-28 20:49:38 +010064 default: 'tf'
Manish V Badarkhe62a10a42022-09-28 19:08:44 +010065 - string:
66 name: QA_SERVER_PROJECT
67 default: 'tf-a'
68 - string:
69 name: QA_SERVER_VERSION
70 default: ${BUILD_NUMBER}
71 - string:
72 name: QA_SERVER
73 default: 'https://qa-reports.linaro.org'
74 - string:
75 name: QA_TOOLS_REPO
76 default: 'https://git.gitlab.arm.com/tooling/qa-tools.git'
77 - string:
78 name: SHARE_FOLDER
Chris Kay4bbc9692025-06-13 15:24:41 +010079 default: '/srv/shared/staging/${JOB_NAME}/${BUILD_NUMBER}'
Manish V Badarkhe62a10a42022-09-28 19:08:44 +010080 description: 'Folder containing shared repositories for downstream pipeline jobs'
81 wrappers:
82 - timestamps
83 - timeout:
84 timeout: 120
85 fail: true
86 - credentials-binding:
87 - text:
Manish V Badarkhe601ac022022-09-28 21:07:24 +010088 credential-id: QA_REPORTS_TOKEN
Manish V Badarkhe62a10a42022-09-28 19:08:44 +010089 variable: QA_REPORTS_TOKEN
90 - credentials-binding:
91 - text:
92 credential-id: LAVA_USER_TF
93 variable: LAVA_USER
94 - credentials-binding:
95 - text:
96 credential-id: LAVA_TOKEN_TF
97 variable: LAVA_TOKEN
98 builders:
99 - shell:
100 !include-raw: scripts/clone.sh
101 - shell:
Manish V Badarkhe26cdc952022-10-27 08:05:28 +0100102 !include-raw: tf-a-builder/builders.sh
Manish V Badarkheead95d42022-11-04 20:57:53 +0000103 - inject:
104 properties-file: artefacts/env
105 - shell: |
106 ln -s "artefacts/${BIN_MODE:-release}" "artefacts-lava"
Manish V Badarkhe62a10a42022-09-28 19:08:44 +0100107 - conditional-step:
108 condition-kind: file-exists
109 on-evaluation-failure: dont-run
Manish V Badarkheead95d42022-11-04 20:57:53 +0000110 condition-filename: artefacts-lava/job.yaml
Manish V Badarkhe62a10a42022-09-28 19:08:44 +0100111 condition-basedir: workspace
112 steps:
113 - shell: |
114 #!/bin/bash
115 set -e
116 DEVICE_TYPE=fvp
Manish V Badarkheead95d42022-11-04 20:57:53 +0000117 CUSTOM_YAML_URL=${BUILD_URL}/artifact/artefacts-lava/job.yaml
118 DEVICE_TYPE=$(awk -F': ' '/device_type/ {print $2}' ${WORKSPACE}/artefacts-lava/job.yaml)
Manish V Badarkhe62a10a42022-09-28 19:08:44 +0100119 cat << EOF > ${WORKSPACE}/lava.param
120 DEVICE_TYPE=${DEVICE_TYPE}
121 LAVA_SERVER=tf.validation.linaro.org
122 EOF
123 publishers:
124 - archive:
Manish V Badarkheead95d42022-11-04 20:57:53 +0000125 artifacts: artefacts/**, artefacts-lava/**
Manish V Badarkhe62a10a42022-09-28 19:08:44 +0100126 latest-only: false
127 allow-empty: true
128 - conditional-publisher:
129 - condition-kind: file-exists
130 on-evaluation-failure: dont-run
Manish V Badarkheead95d42022-11-04 20:57:53 +0000131 condition-filename: artefacts-lava/job.yaml
Manish V Badarkhe62a10a42022-09-28 19:08:44 +0100132 condition-basedir: workspace
133 action:
134 - postbuildscript:
135 builders:
136 - role: SLAVE
137 build-on:
138 - SUCCESS
139 build-steps:
140 - inject:
141 properties-file: ${WORKSPACE}/lava.param
142 - shell: |
143 #!/bin/bash
144
Manish V Badarkheb7c59412022-10-28 07:58:14 +0100145 squad='tf-a-job-configs/tf-a-builder/squad.sh'
Manish V Badarkhe62a10a42022-09-28 19:08:44 +0100146 # FIXME: Juno and FVP jobs may fail due to non-related users changes,
147 # so CI needs to resubmit the job, at most three times:
148 # Juno jobs may fail due to LAVA lab infrastructure issues (see
149 # https://projects.linaro.org/browse/LSS-2128)
150 # FVP jobs may hang at some particular TFTF test (see
151 # https://linaro.atlassian.net/browse/TFC-176)
152 if ! $squad; then
153 if ! $squad; then
154 if ! $squad; then
155 echo "LAVA JOB RESULT: 1"
156 else
157 echo "LAVA JOB RESULT: 0"
158 fi
159 else
160 echo "LAVA JOB RESULT: 0"
161 fi
162 else
163 echo "LAVA JOB RESULT: 0"
164 fi
165 - postbuildscript:
166 builders:
167 - role: SLAVE
168 build-on:
169 - SUCCESS
170 build-steps:
171 - shell: |
172 #!/bin/bash -e
173 echo "=== Starting expect-post tests ==="
174 ./tf-a-ci-scripts/script/expect-post-runner.sh
175 - conditional-publisher:
176 - condition-kind: file-exists
177 on-evaluation-failure: dont-run
178 condition-filename: lava-raw-debug.log
179 condition-basedir: workspace
180 action:
181 - archive:
182 artifacts: lava-raw-debug.log
183 latest-only: false
184 allow-empty: true
185 - conditional-publisher:
186 - condition-kind: file-exists
187 on-evaluation-failure: dont-run
188 condition-filename: lava.log
189 condition-basedir: workspace
190 action:
191 - archive:
Manish V Badarkhe34025862022-11-04 22:21:59 +0000192 artifacts: lava.log, lava-uart?.log, feedback.log, config_file.json, covtrace-*.log, trace_report/**
Manish V Badarkhe62a10a42022-09-28 19:08:44 +0100193 latest-only: false
194 allow-empty: true
195 - groovy-postbuild:
196 script:
197 !include-raw:
Manish V Badarkhe26cdc952022-10-27 08:05:28 +0100198 - tf-a-builder/postbuild.groovy