blob: ce1aa1ebc9a2f3e47c55818b4ea57d3b3063a355 (
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
|
- job:
name: tcwg-abe-test-gerrit-cambridge
project-type: matrix
defaults: global
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
linaro:
- job-build
- job-cancel
- build-discarder:
days-to-keep: 30
num-to-keep: 100
parameters:
- string:
name: GERRIT_PATCHSET_REVISION
default: refs/remotes/origin/master
description: 'Patched ABE revision'
- string:
name: test_list
default: 'cross_build native_build testsuite abe-tests abe-tests-checkout'
description: 'List of tests to perform'
- string:
name: scripts_branch
default: master
description: 'Scripts branch to use'
disabled: true
node: tcwg-x86_64-build
retry-count: 3
concurrent: true
display-name: 'TCWG DEAD BBB ABE Test'
scm:
- git:
url: https://git-us.linaro.org/toolchain/abe.git
refspec: +refs/changes/*:refs/remotes/changes/*
branches:
- ${GERRIT_PATCHSET_REVISION}
skip-tag: true
shallow-clone: false
wipe-workspace: true
choosing-strategy: gerrit
triggers:
- gerrit:
server-name: 'review.linaro.org'
override-votes: true
gerrit-build-successful-verified-value: 1
gerrit-build-failed-verified-value: -1
gerrit-build-successful-codereview-value: 1
gerrit-build-failed-codereview-value: -1
readable-message: true
successful-message: 'Works for me'
failure-message: 'Well ... it worked on my machine'
trigger-for-unreviewed-patches: true
projects:
- project-compare-type: 'ANT'
project-pattern: 'toolchain/abe'
branches:
- branch-compare-type: 'ANT'
branch-pattern: 'master'
silent-start: true
axes:
- axis:
type: slave
name: label
values:
- tcwg-x86_64-build
- axis:
type: dynamic
name: test
values:
- test_list
execution-strategy:
sequential: false
wrappers:
- timeout:
timeout: 300
- timestamps
- ssh-agent-credentials:
# tcwg-buildslave user id
users:
- 'e0958a95-204f-4c14-a66c-5e2be6c5d50a'
- build-name:
name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
builders:
- shell: |
#!/bin/bash
ARTIFACTS=${WORKSPACE}/artifacts
mkdir -p "${ARTIFACTS}"
# Create at least an (empty) artifact so that Jenkins does not complain
# FIXME: Create an artifact for each case below, and no empty.txt
echo > ${ARTIFACTS}/empty.txt
# Explicitly checkout the branch/revision, as gerrit choosing
# strategy doesn't pick up the right one when manually triggered.
git checkout -f ${GERRIT_PATCHSET_REVISION}
schroot_arch=amd64
schroot_image="tcwg-build-${schroot_arch}-trusty"
session_id=$(schroot -b -c chroot:$schroot_image --preserve-environment)
BUILD_SHELL="schroot -r -c session:$session_id --preserve-environment -- bash"
$BUILD_SHELL -c "echo \"Build session is up; ulimit config:\"; ulimit -a"
# Remove schroot session on exit
trap "schroot -f -e -c session:$session_id" 0 1 2 3 5 9 13 15
git clone -b $scripts_branch --depth 1 https://git-us.linaro.org/toolchain/jenkins-scripts
status=0
case "$test" in
cross_build)
${BUILD_SHELL} -x ${WORKSPACE}/jenkins-scripts/jenkins.sh --abedir ${WORKSPACE} --target arm-linux-gnueabihf --runtests --excludecheck gdb --override '--extraconfigdir ../config/gcc6'
status=$?
;;
native_build)
${BUILD_SHELL} -x ${WORKSPACE}/jenkins-scripts/jenkins.sh --abedir ${WORKSPACE} --target native --runtests --bootstrap --excludecheck gdb --override '--extraconfigdir ../config/gcc5'
status=$?
;;
testsuite)
${BUILD_SHELL} -c "set -ex; ./configure; make check"
status=$?
;;
abe-tests)
${BUILD_SHELL} -c "set -ex; git clone https://git.linaro.org/toolchain/abe-tests.git; cd abe-tests; ./test-manifest2.sh --abe-path `pwd` --ref-snapshots /home/tcwg-buildslave/snapshots-ref --quiet --display-report"
status=$?
cp abe-tests/full-manifest-test/*.txt ${ARTIFACTS}
rm ${ARTIFACTS}/empty.txt
# full build logs are large, and not very useful, so we
# don't waste the disk space on them
rm -f ${ARTIFACTS}/test-mani-build[12].txt
;;
abe-tests-checkout)
${BUILD_SHELL} -c "set -ex; git clone https://git.linaro.org/toolchain/abe-tests.git; cd abe-tests; ./test-checkout.sh --clean-snapshots --abe-path `pwd` --ref-snapshots /home/tcwg-buildslave/snapshots-ref"
status=$?
cp abe-tests/checkout-test/workspace*/test_*.log ${ARTIFACTS}
rm artifacts/empty.txt
# the reports from here aren't usually needed, so are
# worth compressing
xz ${ARTIFACTS}/*
;;
esac
exit ${status}
publishers:
- workspace-cleanup:
include:
- "nothing"
dirmatch: true
- archive:
artifacts: 'artifacts/*'
latest-only: false
|