blob: 785b45c62485b5948c7a6d9729b901217b3ad81a (
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
|
- job:
name: tcwg-regression-detection
project-type: multijob
defaults: global
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
linaro:
- job-build
- job-cancel
- build-discarder:
days-to-keep: 30
num-to-keep: 30
parameters:
- string:
name: abe_test_list
default: 'abe-tests-checkout'
description: 'List of ABE tests to perform'
- string:
name: release_target_list
default: 'arm-linux-gnueabihf'
description: 'List of release targets to use'
- string:
name: ref_abe_rev
default: ''
description: 'Reference ABE revision to use. Empty (default) means previous revision'
- string:
name: ref_scripts_branch
default: ''
description: 'Reference scripts branch to test. Empty (default) means previous revision'
- string:
name: ref_distro
default: 'lts'
description: 'Distro image to use in reference builds.'
- string:
name: abe_branch
default: master
description: 'ABE branch to test'
- string:
name: scripts_branch
default: master
description: 'Scripts branch to test'
- string:
name: distro
default: 'lts'
description: 'Distro image to use'
- bool:
name: dryrun
default: false
description: 'Dry-run, do nothing, just print steps'
disabled: false
node: tcwg-coordinator
retry-count: 3
concurrent: true
display-name: 'TCWG Regression Detection'
scm:
- git:
url: https://git.linaro.org/toolchain/abe.git
refspec: +refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*
branches:
- $abe_branch
wipe-workspace: false
clean:
before: true
scm-name: abe
skip-tag: true
- git:
url: https://git.linaro.org/toolchain/abe-tests.git
basedir: abe-tests
branches:
- refs/heads/master
wipe-workspace: false
clean:
before: true
scm-name: abe-tests
skip-tag: true
- git:
url: https://git.linaro.org/toolchain/gcc-compare-results.git
basedir: gcc-compare-results
branches:
- refs/heads/master
wipe-workspace: false
clean:
before: true
scm-name: gcc-compare-results
skip-tag: true
- git:
url: https://git.linaro.org/toolchain/jenkins-scripts.git
refspec: +refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*
basedir: jenkins-scripts
branches:
- $scripts_branch
wipe-workspace: false
clean:
before: true
scm-name: jenkins-scripts
skip-tag: true
triggers:
- gerrit:
server-name: 'review.linaro.org'
trigger-on:
- change-merged-event
projects:
- project-compare-type: 'PLAIN'
project-pattern: 'toolchain/abe-tests'
branches:
- branch-pattern: 'master'
- project-compare-type: 'PLAIN'
project-pattern: 'toolchain/gcc-compare-results'
branches:
- branch-pattern: 'master'
wrappers:
- timeout:
timeout: 600
- timestamps
- ssh-agent-credentials:
# tcwg-buildslave user id
users:
- 'e0958a95-204f-4c14-a66c-5e2be6c5d50a'
- build-name:
name: '#${BUILD_NUMBER}'
builders:
- shell: |
#!/bin/bash
mkdir -p artifacts/
. jenkins-scripts/jenkins-helpers.sh
# Abe's revisions to test
# TODO: gather reference from previous build instead of using N-1.
cur_abe_rev=$(git_rev_parse . HEAD)
ref_abe_rev=$(git_rev_parse . ${ref_abe_rev:-HEAD~})
cur_scripts_branch=$(git_rev_parse jenkins-scripts HEAD)
ref_scripts_branch=$(git_rev_parse jenkins-scripts ${ref_scripts_branch:-HEAD~})
echo "abe_revision=$cur_abe_rev" > artifacts/infos.txt
# TODO: compute ref and eval jenkins-scripts versions
cat << EOF > buildfarm_cmp_parameters
ref_override=--extraconfigdir ../config/gcc7 gcc=gcc.git~linaro/gcc-7-branch
eval_override=--extraconfigdir ../config/gcc7 gcc=gcc.git~linaro/gcc-7-branch
ref_abe_branch=$ref_abe_rev
eval_abe_branch=$cur_abe_rev
ref_scripts_branch=$ref_scripts_branch
eval_scripts_branch=$cur_scripts_branch
ref_distro=$ref_distro
eval_distro=$distro
target_list=aarch64-linux-gnu armv8l-linux-gnueabihf arm-linux-gnueabi arm-linux-gnueabihf
displaytag=reg-detection-${BUILD_NUMBER}
dryrun=$dryrun
EOF
echo "NOTE: Buildfarm cmp job parameters:"
cat buildfarm_cmp_parameters
cat << EOF > gnu_build_parameters
release_name=reg-detection-${BUILD_NUMBER}
target=${release_target_list%% *}
version=default
scripts_branch=$cur_scripts_branch
extra_options=abe_branch=$cur_abe_rev
EOF
echo "NOTE: Dev build job parameters:"
cat gnu_build_parameters
# TODO: Change fileserver and/or location to avoid mixing "real"
# releases and regression detection builds.
# testrelease=false means that tcwg-make-release should
# not spawn tcwg-test-release itself. This is taken care
# of by tcwg-make-and-test-release.
# keep 6.2-2016.11 regtest tag until we make one for 7.1
cat << EOF > make_test_release_parameters
gcc_src=http://releases.linaro.org/components/toolchain/gcc-linaro/7.2-2017.11/gcc-linaro-7.2-2017.11.tar.xz
release_name=2017.11-regtest-${BUILD_NUMBER}
toolchain_config=gcc7
abe_branch=$cur_abe_rev
fileserver=dev-01.tcwglab
target_list=$release_target_list
testrelease=false
tcwg_regression_rev=master
dryrun=$dryrun
EOF
echo "NOTE: Make-release job parameters:"
cat make_test_release_parameters
rm -f llvm_release_parameters
if ! git --git-dir=jenkins-scripts/.git diff --exit-code --name-only \
GIT_PREVIOUS_COMMIT_3 GIT_COMMIT_3 -- \
start-container-docker.sh build-container.sh tcwg-llvm-release.sh; then
cat << EOF > llvm_release_parameters
release=7.0.0
candidate=final
build_container_tag=lts_1
EOF
fi
- multijob:
name: 'Check Manifest'
condition: ALWAYS
projects:
- name: tcwg-abe-test
predefined-parameters: |
test_list=$abe_test_list
- multijob:
name: 'Check build/testsuite and releases'
condition: COMPLETED
projects:
- name: tcwg-buildfarm-cmp
property-file: buildfarm_cmp_parameters
- name: tcwg-gnu-build
property-file: gnu_build_parameters
- name: tcwg-make-and-test-release
property-file: make_test_release_parameters
predefined-parameters: |
target_list='arm-linux-gnueabihf'
- trigger-builds:
- project: tcwg-llvm-release
predefined-parameters: |
target_list='arm-linux-gnueabihf'
parameter-factories:
- factory: filebuild
file-pattern: llvm_release_parameters
publishers:
- archive:
artifacts: 'artifacts/*'
latest-only: false
- email-ext:
recipients: 'yvan.roux@linaro.org tcwg-validation@linaro.org'
aborted: true
|