blob: 67f3dd5cc6413c9a6bf4644d89bdb1ee63b545eb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
# http://docs.openstack.org/infra/jenkins-job-builder/definition.html
- job:
name: tcwg-buildfarm-master
project-type: matrix
defaults: global
logrotate:
daysToKeep: 10
numToKeep: 5
properties:
- authorization:
rob:
- job-configure
- job-delete
- job-workspace
- job-build
- job-cancel
parameters:
- choice:
name: node
choices:
- x86_64
- i686
- armv7
- armv8
description: "Machine to build on"
- string:
name: gcc_branch
default: 'latest'
description: 'GCC revision to build'
- string:
name: runtests
default: 'x86_64-host'
description: 'Run toolchain testsuites: "yes", "no", "x86_64-host"'
- bool:
name: try_bootstrap
default: 'false'
description: 'Attempt to bootstrap GCC for compatible host and target combinations'
- string:
name: excludecheck
default: 'gdb'
description: 'Do not run "make check" on this component'
- bool:
name: dont_fail
default: false
description: 'Do not fail the build'
- string:
name: abe_branch
default: refs/heads/test
description: 'ABE revision to test'
disabled: false
node: x86
workspace: /home/linaro/workspace
child-workspace: $target
concurrent: true
display-name: 'TCWG Rob BuildFarm Test'
scm:
- git:
url: https://git-us.linaro.org/toolchain/abe.git
refspec: +refs/changes/*:refs/remotes/changes/*
credentials-id: b9299554-d09d-4e49-8324-6b65b456e165
branches:
- ${abe_branch}
basedir: /home/linaro/workspace/abe
skip-tag: true
shallow-clone: true
wipe-workspace: true
axes:
- axis:
type: slave
name: label
values:
- x86
- armv7
- armv8
- axis:
type: user-defined
name: target
values:
- aarch64-linux-gnu
- aarch64-none-elf
- aarch64_be-none-elf
- arm-linux-gnueabi
- arm-linux-gnueabihf
- armeb-linux-gnueabihf
- native
# http://docs.openstack.org/infra/jenkins-job-builder/project_matrix.html
execution-strategy:
combination-filter: ((label=="x86" && target!="native") || ((label=="x86" || label=="armv7" || label=="armv8") && target=="native"))
sequential: false
wrappers:
- timeout:
timeout: 600
- ssh-agent-credentials:
# co-buildslave user with rsa key id
users:
- '95d48349-72b4-4857-a082-8e7264e01602'
- build-name:
name: '#${BUILD_NUMBER}-${ENV,var="target"}'
- matrix-tie-parent:
node: master
builders:
- shell: |
#!/bin/bash
set -e
set -x
if $try_bootstrap; then
bootstrap="--bootstrap"
else
bootstrap=""
fi
echo "Hack Alert!!! label=${label} target=${target} node=${node}"
if test x"${target}" != x"native"; then
targetop="--target ${target}"
else
if test "`echo ${target} | egrep -c '^arm|^aarch'`" -gt 0; then
echo "Don't build cross toolchain on ARM or AARCH64 platforms"
exit 0
else
targetop=""
fi
fi
result="0"
CONFIG_SHELL="/bin/bash -x"
/bin/bash -x ../abe/jenkins.sh ${targetop} --gcc-branch ${gcc_branch} --languages c,c++ $bootstrap --excludecheck ${excludecheck} --gitrepo /home/linaro/workspace/snapshots || result=$?
echo "Result of jenkins.sh: $result"
if $dont_fail; then
result="0"
fi
exit $result
|