blob: c1a091d558e4834dbeabf28c5bff9f1ac85dd3cb [file] [log] [blame]
Paul Sokolovsky209003d2024-01-31 23:34:16 +07001- job:
2 name: tf-a-lts2.10-builder
Paul Sokolovsky36e8e842024-02-07 13:26:57 +07003 node: docker-amd64-tf-a-lts2.10-jammy
Paul Sokolovsky209003d2024-01-31 23:34:16 +07004 project-type: freestyle
5 concurrent: true
6 disabled: false
7 defaults: global
Paul Sokolovskyd9f65b52024-10-22 13:50:58 +07008 description: |
9 Trusted Firmware A (TF-A) LTS2.10 builder
Paul Sokolovsky209003d2024-01-31 23:34:16 +070010 properties:
Chris Kay675db4f2025-06-24 14:14:34 +010011 - build-discarder:
12 days-to-keep: 15
Paul Sokolovsky209003d2024-01-31 23:34:16 +070013 parameters:
Chris Kay675db4f2025-06-24 14:14:34 +010014 - string:
15 name: import_cc
16 - string:
17 name: TEST_CONFIG
18 description: |
19 Original test configuration.
20 - string:
21 name: TEST_DESC
22 description: |
23 Expanded and normalized test configuration, aka "test description"
24 - string:
25 name: TF_GERRIT_PROJECT
26 default: TF-A/trusted-firmware-a
27 - string:
28 name: TF_GERRIT_BRANCH
29 default: refs/heads/master
30 - string:
31 name: TF_GERRIT_REFSPEC
32 default: +refs/heads/master:refs/remotes/origin/master
33 - string:
34 name: TFTF_GERRIT_PROJECT
35 default: TF-A/tf-a-tests
36 - string:
37 name: TFTF_GERRIT_BRANCH
38 default: refs/heads/master
39 - string:
40 name: TFTF_GERRIT_REFSPEC
41 default: +refs/heads/master:refs/remotes/origin/master
42 - string:
43 name: CI_REFSPEC
44 default: +refs/heads/master:refs/remotes/origin/master
45 - string:
46 name: JOBS_REFSPEC
47 default: refs/heads/master
48 description: |
49 tf-a-job-configs refspec to use. The master branch is used by default.
50 - string:
51 name: DOCKER_REGISTRY
52 default: ${PRIVATE_CONTAINER_REGISTRY}
53 description: PRIVATE_CONTAINER_REGISTRY is a system-wide environment variable
54 - string:
55 name: JUNO_ROOTFS_URL
56 default: http://releases.linaro.org/openembedded/aarch64/17.01/linaro-image-minimal-genericarmv8-20170127-888.rootfs.tar.gz
57 - string:
58 name: MBEDTLS_URL
59 default: https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.6.3.tar.gz
60 - string:
61 name: GERRIT_PATCHSET_NUMBER
62 default: ""
63 - string:
64 name: GERRIT_CHANGE_NUMBER
65 default: ""
66 - string:
67 name: GERRIT_HOST
68 default: review.trustedfirmware.org
69 - string:
Chris Kay675db4f2025-06-24 14:14:34 +010070 name: QA_TOOLS_REPO
71 default: https://git.gitlab.arm.com/tooling/qa-tools.git
72 - string:
73 name: QA_TOOLS_BRANCH
74 default: master
75 - string:
76 name: LAVA_RETRIES
77 default: 2
78 description: |
79 Number of tries submitting job to LAVA in case it fails (stopgap measure against nondeterministic failures)
80 - string:
81 name: USE_TUXSUITE_FVP
82 default: 1
83 description: |
84 Whether to submit FVP tests via TuxSuite (instead of LAVA)
85 - string:
86 name: SHARE_FOLDER
87 default: /srv/shared/${JOB_NAME}/${BUILD_NUMBER}
88 description: Folder containing shared repositories for downstream pipeline jobs
Paul Sokolovsky209003d2024-01-31 23:34:16 +070089 wrappers:
Chris Kay675db4f2025-06-24 14:14:34 +010090 - timestamps
91 - timeout:
92 timeout: 120
93 fail: true
94 - credentials-binding:
95 - text:
Chris Kay675db4f2025-06-24 14:14:34 +010096 credential-id: LAVA_USER_TF
97 variable: LAVA_USER
98 - credentials-binding:
99 - text:
100 credential-id: LAVA_TOKEN_TF
101 variable: LAVA_TOKEN
102 - credentials-binding:
103 - text:
104 credential-id: TUXSUITE_TOKEN
105 variable: TUXSUITE_TOKEN
106 - credentials-binding:
107 - text:
108 credential-id: ARMCLANG_UBL_CODE
109 variable: ARMCLANG_UBL_CODE
Paul Sokolovsky209003d2024-01-31 23:34:16 +0700110 builders:
Chris Kay675db4f2025-06-24 14:14:34 +0100111 - shell: |
112 aarch64-none-elf-gcc -v || true
113 - shell: !include-raw: scripts/clone.sh
114 - shell: !include-raw: tf-a-builder/lts-builders.sh
115 - inject:
116 properties-file: artefacts/env
117 - shell: |
118 ln -s "artefacts/${BIN_MODE:-release}" "artefacts-lava"
119 echo ${BIN_MODE:-release} >lava-binmode.txt
120 - conditional-step:
121 condition-kind: file-exists
122 on-evaluation-failure: dont-run
123 condition-filename: artefacts-lava/job.yaml
124 condition-basedir: workspace
125 steps:
126 - shell: |
Paul Sokolovsky209003d2024-01-31 23:34:16 +0700127 #!/bin/bash
128 set -e
129 DEVICE_TYPE=fvp
130 CUSTOM_YAML_URL=${BUILD_URL}/artifact/artefacts-lava/job.yaml
131 DEVICE_TYPE=$(awk -F': ' '/device_type/ {print $2}' ${WORKSPACE}/artefacts-lava/job.yaml)
132 cat << EOF > ${WORKSPACE}/lava.param
133 DEVICE_TYPE=${DEVICE_TYPE}
134 LAVA_SERVER=tf.validation.linaro.org
135 EOF
136 publishers:
Chris Kay675db4f2025-06-24 14:14:34 +0100137 - archive:
138 artifacts: artefacts/**, lava-binmode.txt
139 latest-only: false
140 allow-empty: true
141 - conditional-publisher:
Paul Sokolovsky209003d2024-01-31 23:34:16 +0700142 - condition-kind: file-exists
143 on-evaluation-failure: dont-run
144 condition-filename: artefacts-lava/job.yaml
145 condition-basedir: workspace
146 action:
Chris Kay675db4f2025-06-24 14:14:34 +0100147 - postbuildscript:
148 mark-unstable-if-failed: true
149 builders:
150 - role: SLAVE
151 build-on:
152 - SUCCESS
153 build-steps:
154 - inject:
155 properties-file: ${WORKSPACE}/lava.param
156 - shell: |
157 #!/bin/bash -x
Paul Sokolovsky209003d2024-01-31 23:34:16 +0700158
Chris Kay675db4f2025-06-24 14:14:34 +0100159 tf-a-job-configs/tf-a-builder/submit-test-job.sh
160 status=$?
161 tf-a-job-configs/tf-a-builder/lava-log-process.sh
162 if [ $status -ne 0 ]; then
163 echo "LAVA JOB RESULT: 1"
164 exit 1
165 else
166 echo "LAVA JOB RESULT: 0"
167 fi
168 - postbuildscript:
169 builders:
170 - role: SLAVE
171 build-on:
172 - SUCCESS
173 build-steps:
174 - shell: |
175 #!/bin/bash -e
176 echo "=== Starting expect-post tests ==="
177 ./tf-a-ci-scripts/script/expect-post-runner.sh
178 - conditional-publisher:
Paul Sokolovsky209003d2024-01-31 23:34:16 +0700179 - condition-kind: file-exists
180 on-evaluation-failure: dont-run
181 condition-filename: lava-raw-debug.log
182 condition-basedir: workspace
183 action:
Chris Kay675db4f2025-06-24 14:14:34 +0100184 - archive:
185 artifacts: lava-raw-debug.log
186 latest-only: false
187 allow-empty: true
188 - archive:
189 artifacts: lava.log, lava-*.log, tux.id, feedback.log, config_file.json, covtrace-*.log, trace_report/**
190 latest-only: false
191 allow-empty: true
192 - groovy-postbuild:
193 script: !include-raw:
194 - tf-a-builder/postbuild.groovy