blob: e1bee2c7b8f6df28c688802397b73687d9efc37a [file] [log] [blame]
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +00001# Auto generated by ./tcwg/generate-yamlfiles.sh from tcwg-dev-builds.yaml.in and tcwg-dev-builds/tcwg-gnu-builds.def. Do not edit.
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +00002#BEGIN: tcwg/default.yaml.inc
3# -*- mode: Yaml -*-
4
5- property:
6 name: default-properties
7 properties:
8 - authorization:
9 anonymous:
10 - job-read
11 - job-extended-read
Benjamin Copeland9dc2eb82022-10-11 12:40:33 +010012 everyone-flat:
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000013 - job-build
14 - job-cancel
15 - build-discarder:
Maxim Kuvyrkov5e1f6662025-02-20 05:32:41 +000016 days-to-keep: 20
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000017
18- scm:
19 name: jenkins-scripts
20 scm:
21 - git:
Laurent Alfonsi3c7c10a2025-04-17 17:04:51 +020022 url: https://gitlab.com/Linaro/tcwg/jenkins-scripts.git
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000023 refspec: +refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*
24 branches:
25 - $scripts_branch
26 basedir: jenkins-scripts
27 skip-tag: true
28 reference-repo: /home/tcwg-buildslave/snapshots-ref/jenkins-scripts.git
29 wipe-workspace: false
30 clean:
31 before: true
32 prune: true
Maxim Kuvyrkov83939c12021-03-23 08:53:54 +000033
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000034#END: tcwg/default.yaml.inc
35
36- job:
37 name: tcwg-gnu-builds
38 project-type: multijob
39 defaults: global
40 properties:
41 - default-properties
42 parameters:
43 - string:
44 name: release_name
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +000045 default: test
Maxim Kuvyrkovb2a7e922021-01-17 13:31:45 +000046 description: 'Name of release series'
47 - string:
48 name: buildnumber
49 default: 0
50 description: 'Build number in release series'
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000051 - choice:
52 name: version
53 choices:
Maxim Kuvyrkova184de12021-01-16 19:04:36 +000054 - latest-rel
Maxim Kuvyrkov888cc682021-01-17 16:49:53 +000055 - master
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000056 description: 'Toolchain version; should match a supported ABE config'
57 - bool:
Maxim Kuvyrkov66858612021-01-16 18:12:55 +000058 name: host_x86_64_target_aarch64
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000059 default: true
60 - bool:
Maxim Kuvyrkov66858612021-01-16 18:12:55 +000061 name: host_x86_64_target_armhf
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000062 default: true
63 - bool:
Maxim Kuvyrkov29db30e2021-01-17 19:34:50 +000064 name: host_aarch64_target_native
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000065 default: true
66 - bool:
Maxim Kuvyrkov66858612021-01-16 18:12:55 +000067 name: host_aarch64_target_armhf
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000068 default: true
Maxim Kuvyrkov29db30e2021-01-17 19:34:50 +000069 - bool:
70 name: host_armhf_target_native
Maxim Kuvyrkova2f1c082023-09-29 09:10:40 +000071 # FIXME: https://linaro.atlassian.net/browse/STG-5042
72 default: false
Maxim Kuvyrkova184de12021-01-16 19:04:36 +000073 - choice:
74 name: distro
75 choices:
Maxim Kuvyrkov0759bf42021-01-20 13:38:55 +000076 - lts_1
77 - lts
Maxim Kuvyrkova184de12021-01-16 19:04:36 +000078 description: 'Ubuntu distro to use for build environment'
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000079 - bool:
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +000080 name: publish
81 default: false
82 description: 'Whether to publish to snapshots.linaro.org'
83 - bool:
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000084 name: verbose
85 default: true
86 description: 'Whether to be verbose'
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000087 disabled: false
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +000088 node: tcwg-coordinator
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000089 concurrent: true
90 display-name: 'TCWG AAA GNU Builds'
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000091 wrappers:
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +000092 - build-name:
Maxim Kuvyrkovdb158d72021-01-17 16:45:43 +000093 name: '#$BUILD_NUMBER-$version-$release_name-$buildnumber'
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000094 - timeout:
Maxim Kuvyrkova3124442021-10-07 08:57:37 +000095 timeout: 600
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000096 - timestamps
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +000097 - workspace-cleanup
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +000098 builders:
99 - shell: |
100 #!/bin/bash
101 set -euf -o pipefail
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000102 if $verbose; then
103 set -x
104 fi
105
106 if [ x"$(ls)" != x"" ]; then
107 echo "ERROR: Dirty workspace"
108 exit 1
109 fi
110
111 cat > build-params.txt <<EOF
112 release_name=$release_name
Maxim Kuvyrkovb2a7e922021-01-17 13:31:45 +0000113 buildnumber=$buildnumber
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000114 version=$version
Maxim Kuvyrkova184de12021-01-16 19:04:36 +0000115 distro=$distro
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000116 EOF
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +0000117 - multijob:
118 name: Build
119 projects:
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000120 - name: tcwg-gnu-build
Maxim Kuvyrkov49f92cd2021-01-16 19:07:58 +0000121 alias: "host_x86_64_target_aarch64"
Maxim Kuvyrkov66858612021-01-16 18:12:55 +0000122 enable-condition: "$host_x86_64_target_aarch64"
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +0000123 node-label-name: "builder"
124 node-label: "tcwg-build && tcwg-x86_64-build"
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000125 property-file: build-params.txt
126 predefined-parameters: "target=aarch64-linux-gnu"
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000127 - name: tcwg-gnu-build
Maxim Kuvyrkov49f92cd2021-01-16 19:07:58 +0000128 alias: "host_x86_64_target_armhf"
Maxim Kuvyrkov66858612021-01-16 18:12:55 +0000129 enable-condition: "$host_x86_64_target_armhf"
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +0000130 node-label-name: "builder"
131 node-label: "tcwg-build && tcwg-x86_64-build"
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000132 property-file: build-params.txt
133 predefined-parameters: "target=arm-linux-gnueabihf"
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000134 - name: tcwg-gnu-build
Maxim Kuvyrkov49f92cd2021-01-16 19:07:58 +0000135 alias: "host_aarch64_target_aarch64"
Maxim Kuvyrkov29db30e2021-01-17 19:34:50 +0000136 enable-condition: "$host_aarch64_target_native"
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +0000137 node-label-name: "builder"
138 node-label: "tcwg-build && tcwg-armv8_64"
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000139 property-file: build-params.txt
140 predefined-parameters: "target=native"
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000141 - name: tcwg-gnu-build
Maxim Kuvyrkov49f92cd2021-01-16 19:07:58 +0000142 alias: "host_aarch64_target_armhf"
Maxim Kuvyrkov66858612021-01-16 18:12:55 +0000143 enable-condition: "$host_aarch64_target_armhf"
Maxim Kuvyrkovd5039e02021-01-15 14:29:33 +0000144 node-label-name: "builder"
145 node-label: "tcwg-build && tcwg-armv8_64"
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000146 property-file: build-params.txt
147 predefined-parameters: "target=arm-linux-gnueabihf"
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000148 - name: tcwg-gnu-build
Maxim Kuvyrkov29db30e2021-01-17 19:34:50 +0000149 alias: "host_armhf_target_native"
150 enable-condition: "$host_armhf_target_native"
151 node-label-name: "builder"
Maxim Kuvyrkov81065ed2021-07-09 09:57:59 +0000152 node-label: "tcwg-build && tcwg-armv7"
Maxim Kuvyrkovb3596c92021-02-02 13:58:17 +0000153 property-file: build-params.txt
Maxim Kuvyrkov29db30e2021-01-17 19:34:50 +0000154 predefined-parameters: "target=native"
Maxim Kuvyrkov95c9ca12021-01-15 19:03:10 +0000155 - shell: |
156 #!/bin/bash
157 set -euf -o pipefail
Maxim Kuvyrkov66858612021-01-16 18:12:55 +0000158 if $verbose; then
159 set -x
160 fi
161
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000162 env | grep "TCWG_GNU_BUILD"
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000163 - conditional-step:
164 condition-kind: num-comp
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000165 lhs: $TRIGGERED_BUILD_RUN_COUNT_TCWG_GNU_BUILD
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000166 comparator: greater-than-equal
167 rhs: 1
168 steps:
169 - copyartifact:
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000170 project: tcwg-gnu-build
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000171 which-build: specific-build
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000172 # Note that $TCWG_GNU_BUILD_BUILD_NUMBER points to the last
173 # build (i.e., it's the same as $TCWG_GNU_BUILD_5_BUILD_NUMBER
Maxim Kuvyrkov287d6f32021-01-18 14:21:45 +0000174 # in a full 5-configuration build). At the same time,
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000175 # $TCWG_GNU_BUILD_nnn_BUILD_NUMBER variables are defined only
Maxim Kuvyrkov287d6f32021-01-18 14:21:45 +0000176 # when multiple builds were triggered.
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000177 # We need to use $TCWG_GNU_BUILD_BUILD_NUMBER here to correctly
Maxim Kuvyrkov287d6f32021-01-18 14:21:45 +0000178 # handle single-toolchain builds.
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000179 build-number: $TCWG_GNU_BUILD_BUILD_NUMBER
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000180 target: tcwg-gnu-build-1
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000181 - conditional-step:
182 condition-kind: num-comp
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000183 lhs: $TRIGGERED_BUILD_RUN_COUNT_TCWG_GNU_BUILD
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000184 comparator: greater-than-equal
185 rhs: 2
186 steps:
187 - copyartifact:
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000188 project: tcwg-gnu-build
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000189 which-build: specific-build
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000190 build-number: $TCWG_GNU_BUILD_1_BUILD_NUMBER
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000191 target: tcwg-gnu-build-2
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000192 - conditional-step:
193 condition-kind: num-comp
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000194 lhs: $TRIGGERED_BUILD_RUN_COUNT_TCWG_GNU_BUILD
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000195 comparator: greater-than-equal
196 rhs: 3
197 steps:
198 - copyartifact:
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000199 project: tcwg-gnu-build
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000200 which-build: specific-build
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000201 build-number: $TCWG_GNU_BUILD_2_BUILD_NUMBER
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000202 target: tcwg-gnu-build-3
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000203 - conditional-step:
204 condition-kind: num-comp
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000205 lhs: $TRIGGERED_BUILD_RUN_COUNT_TCWG_GNU_BUILD
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000206 comparator: greater-than-equal
207 rhs: 4
208 steps:
209 - copyartifact:
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000210 project: tcwg-gnu-build
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000211 which-build: specific-build
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000212 build-number: $TCWG_GNU_BUILD_3_BUILD_NUMBER
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000213 target: tcwg-gnu-build-4
Maxim Kuvyrkov29db30e2021-01-17 19:34:50 +0000214 - conditional-step:
215 condition-kind: num-comp
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000216 lhs: $TRIGGERED_BUILD_RUN_COUNT_TCWG_GNU_BUILD
Maxim Kuvyrkov29db30e2021-01-17 19:34:50 +0000217 comparator: greater-than-equal
218 rhs: 5
219 steps:
220 - copyartifact:
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000221 project: tcwg-gnu-build
Maxim Kuvyrkov29db30e2021-01-17 19:34:50 +0000222 which-build: specific-build
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000223 build-number: $TCWG_GNU_BUILD_4_BUILD_NUMBER
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000224 target: tcwg-gnu-build-5
Maxim Kuvyrkov4d9f1ea2025-02-25 23:58:58 +0000225# linaro-publish-token has not been updated in a while.
226# Disable publishing support until we need it.
227# - linaro-publish-token
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000228 - shell: |
Maxim Kuvyrkov66858612021-01-16 18:12:55 +0000229 #!/bin/bash
230 set -euf -o pipefail
231 if $verbose; then
232 set -x
233 fi
234
Maxim Kuvyrkovd2b89c22021-01-16 20:13:26 +0000235 mkdir out
236
Maxim Kuvyrkov7eba7d62021-09-03 12:49:29 +0000237 i="$TRIGGERED_BUILD_RUN_COUNT_TCWG_GNU_BUILD"
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000238 while [ $i -gt 0 ]; do
Maxim Kuvyrkov9a642b92021-09-01 10:25:50 +0000239 rsync -a tcwg-gnu-build-$i/artifacts/binaries/ out/
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000240 i=$(($i-1))
241 done
242
Maxim Kuvyrkov3bee0882021-03-10 11:22:18 +0000243 if [ x"$(ls out/ | wc -l)" != x"1" ]; then
244 echo "ERROR: not a single directory in builds artifacts:"
245 ls -l out/
246 exit 1
247 fi
Maxim Kuvyrkov17f413b2021-04-06 16:10:20 +0000248 out_release=$(set +f; echo out/*-$release_name-$buildnumber)
Maxim Kuvyrkov3bee0882021-03-10 11:22:18 +0000249 if ! [ -d "$out_release" ]; then
250 echo "ERROR: no $out_release directory in builds artifacts:"
251 ls -l out/
252 exit 1
253 fi
254
Maxim Kuvyrkovd2b89c22021-01-16 20:13:26 +0000255 cat > HEADER-latest-rel.textile <<EOF
Maxim Kuvyrkovb2a7e922021-01-17 13:31:45 +0000256 h4. Linaro Toolchain Upstream Integration Builds - Stable $release_name-$buildnumber
Maxim Kuvyrkovd2b89c22021-01-16 20:13:26 +0000257
258 These builds are made from latest release branches of GNU toolchain
Maxim Kuvyrkovca781292021-01-17 19:40:13 +0000259 components.
260 See included manifests for details.
Maxim Kuvyrkovd2b89c22021-01-16 20:13:26 +0000261
262 These builds are not for production environments.
Maxim Kuvyrkovca781292021-01-17 19:40:13 +0000263 We will do our best to investigate problems reported via
264 "Linaro Bugzilla":https://bugs.linaro.org/ and issue trackers of
265 upstream projects.
Maxim Kuvyrkovd2b89c22021-01-16 20:13:26 +0000266 EOF
267
268 cat > HEADER-master.textile <<EOF
Maxim Kuvyrkovb2a7e922021-01-17 13:31:45 +0000269 h4. Linaro Toolchain Upstream Integration Builds - *UNSTABLE* $release_name-$buildnumber
Maxim Kuvyrkovd2b89c22021-01-16 20:13:26 +0000270
271 These builds are made from whatever happened to be in master branches
Maxim Kuvyrkovca781292021-01-17 19:40:13 +0000272 of GNU toolchain components at the moment.
273 See included manifests for details.
Maxim Kuvyrkovd2b89c22021-01-16 20:13:26 +0000274
Maxim Kuvyrkov9ab75642021-01-17 18:23:09 +0000275 These builds are for experimental environments only. They *will*
Maxim Kuvyrkovca781292021-01-17 19:40:13 +0000276 break your stuff and drink all your beer. You have been warned.
277 We will do our best to investigate problems reported via
278 "Linaro Bugzilla":https://bugs.linaro.org/ and issue trackers of
279 upstream projects.
Maxim Kuvyrkovd2b89c22021-01-16 20:13:26 +0000280 EOF
281
Maxim Kuvyrkov11fd1c72021-01-17 17:31:09 +0000282 cp HEADER-$version.textile HEADER.textile
Maxim Kuvyrkov3bee0882021-03-10 11:22:18 +0000283 cp HEADER.textile "$out_release/"
Maxim Kuvyrkovd2b89c22021-01-16 20:13:26 +0000284
285 wget https://git.linaro.org/ci/publishing-api.git/plain/linaro-cp.py -O ./linaro-cp.py
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000286 linaro_cp_opts=""
Maxim Kuvyrkov9ab75642021-01-17 18:23:09 +0000287 if ! $publish; then
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000288 linaro_cp_opts="--dry-run"
289 fi
Maxim Kuvyrkov9ab75642021-01-17 18:23:09 +0000290 time python3 ./linaro-cp.py --api_version 3 $linaro_cp_opts \
Maxim Kuvyrkovf8260e92021-04-07 10:03:49 +0000291 "$out_release/" "gnu-toolchain/$(basename "$out_release")"
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000292
293- job:
294 name: tcwg-gnu-builds-monthly
295 project-type: freestyle
296 defaults: global
297 properties:
298 - default-properties
299 disabled: false
300 node: tcwg-coordinator
301 concurrent: false
302 display-name: 'TCWG AAA GNU Builds Monthly Trigger'
303 triggers:
Maxim Kuvyrkova3124442021-10-07 08:57:37 +0000304 - timed: '@weekly'
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000305 wrappers:
306 - timeout:
307 timeout: 300
308 - timestamps
Maxim Kuvyrkova4facda2021-01-16 18:04:38 +0000309 builders:
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000310 - shell: |
311 #!/bin/bash
312 set -euf -o pipefail
313 set -x
314
Maxim Kuvyrkov66858612021-01-16 18:12:55 +0000315 # Release name is Year.Month-Week_of_month
Maxim Kuvyrkov9dcc3632021-03-09 10:03:43 +0000316 buildnumber=$((($(date +%e)+6)/7))
Maxim Kuvyrkovdb158d72021-01-17 16:45:43 +0000317 publish=false
318 if [ x"$buildnumber" = x"1" ]; then
Maxim Kuvyrkov4d9f1ea2025-02-25 23:58:58 +0000319 # Disable publishing until linaro-publish-token is updated.
320 #publish=true
321 publish=flase
Maxim Kuvyrkovdb158d72021-01-17 16:45:43 +0000322 fi
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000323 cat > build-params.txt <<EOF
Maxim Kuvyrkovb2a7e922021-01-17 13:31:45 +0000324 release_name=$(date +%Y.%m)
Maxim Kuvyrkovdb158d72021-01-17 16:45:43 +0000325 buildnumber=$buildnumber
326 publish=$publish
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000327 EOF
328 - trigger-builds:
329 - project: tcwg-gnu-builds
330 property-file: build-params.txt
Maxim Kuvyrkova184de12021-01-16 19:04:36 +0000331 predefined-parameters: |
332 version=latest-rel
Maxim Kuvyrkov0759bf42021-01-20 13:38:55 +0000333 distro=lts_1
Maxim Kuvyrkov352375a2021-01-16 17:37:35 +0000334 - project: tcwg-gnu-builds
335 property-file: build-params.txt
Maxim Kuvyrkova184de12021-01-16 19:04:36 +0000336 predefined-parameters: |
337 version=master
Maxim Kuvyrkov0759bf42021-01-20 13:38:55 +0000338 distro=lts
Laurent Alfonsi3c7c10a2025-04-17 17:04:51 +0200339# checksum: e2d6ecb27f75eccaab52db0ca32a91e0