blob: 69cf17f785e590afcaa1b4280615e11f7b631051 (
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
|
- job:
name: linaro-art-tip-build-ARTTargetTest
project-type: freestyle
defaults: global
description: >
Runs the
<a href="https://android-git.linaro.org/gitweb/linaro-art/art-build-scripts.git/blob/HEAD:tests/test_art_target.sh">Target Tests</a>
on a device via adb using android root. The build slave in the cloud is
able to reach the physical device using port forwarding via SSH.
This job is for the tip.
properties:
- authorization:
anonymous:
- job-discover
linaro-android-builders:
- job-read
- job-extended-read
- job-workspace
linaro-art:
- job-build
- job-read
- job-extended-read
- job-workspace
- build-discarder:
days-to-keep: 60
num-to-keep: 60
parameters:
- string:
name: BUILD_CONFIG_REPO
default: 'git://android.git.linaro.org/android-build-configs.git'
- string:
name: BUILD_CONFIG_BRANCH
default: 'master'
- string:
name: BUILD_CONFIG_FILENAME
default: 'linaro-art-tip-aosp_flounder'
- string:
name: CURRENT_FAILING_ART_TESTS
default: 'libcore.java.lang.OldSystemTest#test_inheritedChannel'
- password:
name: PRIVATE_KEY
default: ${PRIVATE_KEY}
disabled: false
node: docker-utopic-art
display-name: 'ART - Tip - Target Test'
concurrent: true
scm:
- git:
url: ssh://git@dev-private-git.linaro.org/linaro-art/platform/art.git
branches:
- origin/master
credentials-id: '768c1ba1-6052-4b97-a531-7e4fabda6979'
skip-tag: true
shallow-clone: true
wipe-workspace: false
triggers:
- pollscm: 'H/5 * * * *'
- gerrit:
override-votes: true
gerrit-build-successful-verified-value: 1
gerrit-build-failed-verified-value: -1
trigger-on:
- comment-added-contains-event:
comment-contains-value: '.*IncludeAllTests.*'
projects:
- project-compare-type: 'PLAIN'
project-pattern: 'linaro-art/platform/build'
branches:
- branch-pattern: 'master'
- project-compare-type: 'PLAIN'
project-pattern: 'linaro-art/platform/art'
branches:
- branch-pattern: 'master'
- project-compare-type: 'PLAIN'
project-pattern: 'linaro-art/platform/external/vixl'
branches:
- branch-pattern: 'master'
wrappers:
- timestamps
- timeout:
timeout: 500
builders:
- shell: |
#!/bin/bash -xe
# Build scripts
ANDROID_BUILD_DIR="${HOME}/srv/${JOB_NAME}/android"
ART_BUILD_SCRIPTS_DIR="${WORKSPACE}/art-build-scripts"
git clone https://android-git.linaro.org/git/linaro-art/art-build-scripts.git ${ART_BUILD_SCRIPTS_DIR}
# Private key
wget https://git.linaro.org/people/daniel.diaz/ci/misc-utils.git/blob_plain/HEAD:/add-private-key.sh
source add-private-key.sh
# Port forwarding magic to have access to Nexus devices
source /home/buildslave/srv/nexus-config
export ANDROID_SERIAL=${BULLHEAD}
export ANDROID_ADB_SERVER_PORT=${ANDROID_ADB_SERVER_PORT_TIP}
sudo ssh-keyscan -p ${REMOTE_PORT} 81.128.185.43 > ~/.ssh/known_hosts
ssh nexus-machine killall adb-stable adb-tip ||:
ssh nexus-machine ./adb-tip -P ${ANDROID_ADB_SERVER_PORT} start-server
ssh -L ${ANDROID_ADB_SERVER_PORT}:127.0.0.1:${ANDROID_ADB_SERVER_PORT} nexus-machine -f -N
cd ${ART_BUILD_SCRIPTS_DIR}/jenkins
./setup_host.sh
./setup_android.sh
cd ${ANDROID_BUILD_DIR}
perl scripts/jenkins/test_launcher.pl \
scripts/tests/test_art_target.sh --default
publishers:
- archive:
artifacts: '*.txt, *.xml'
- logparser:
parse-rules: '/var/lib/jenkins/userContent/android-art.parse'
unstable-on-warning: false
fail-on-error: false
- groovy-postbuild:
script: |
import hudson.model.*
def currentBuild = Thread.currentThread().executable
def description = ""
def matcher = manager.getLogMatcher(".*repo sync failed.*")
if ( matcher?.matches()) {
manager.addShortText("repo sync failed")
}
matcher = manager.getLogMatcher(".*patch merge failed.*")
if ( matcher?.matches()) {
manager.addShortText("merge failed")
}
matcher = manager.getLogMatcher(".*error: no devices/emulators found.*")
if ( matcher?.matches()) {
manager.addShortText("No Device Found")
}
matcher = manager.getLogMatcher(".*buildbot-build setup failed.*")
if ( matcher?.matches()) {
manager.addShortText("buildbot-build setup failed.")
}
matcher = manager.getLogMatcher(".* tests have failed")
if (matcher?.matches()) {
def test = matcher.group(0).split(" ")
manager.listener.logger.println test.length
i=0
while( i<test.length-3) {
description+="${test[i]} failed<br>"
i++;
}
currentBuild.setDescription(description)
manager.addShortText("Tests failed")
}
|