blob: d9c764688c9bbadbf9b73b016f7e8c3fb635f3e4 (
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
|
- job:
name: 96boards-reference-platform-aosp-db410c
project-type: freestyle
defaults: global
logrotate:
daysToKeep: 60
numToKeep: 60
properties:
- authorization:
anonymous:
- job-read
linaro:
- job-build
- job-cancel
disabled: false
node: docker-utopic-aosp
display-name: 'Reference Platform - AOSP (DragonBoard 410c)'
concurrent: true
wrappers:
- timestamps
- timeout:
timeout: 500
builders:
- shell: |
#!/bin/bash
set -ex
java -version
sudo sed -i -e 's/archive.ubuntu.com\|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
sudo apt-get update
sudo apt-get install -y gcc-4.9-multilib bison git gperf libxml2-utils python-mako zip time python-requests genisoimage patch mtools libfdt-dev python-mako gettext
mkdir -p ${HOME}/bin ${WORKSPACE}/build/out
curl https://storage.googleapis.com/git-repo-downloads/repo > ${HOME}/bin/repo
chmod a+x ${HOME}/bin/*
export PATH=${HOME}/bin:${PATH}
if [ ! -d "/home/buildslave/srv/${JOB_NAME}" ]; then
sudo mkdir -p /home/buildslave/srv/${JOB_NAME}
sudo chmod 777 /home/buildslave/srv/${JOB_NAME}
fi
cd /home/buildslave/srv/${JOB_NAME}
git config --global user.email "ci_notify@linaro.org"
git config --global user.name "Linaro CI"
# Clean any artifacts related to previous build
rm -rf vendor/db410c
rm -rf out/target/product/db410c/system/ out/target/product/db410c/data/ out/target/product/db410c/*.xml out/target/product/db410c/obj/kernel/
rm -rf out/target/product/db410c/*.zip out/target/product/db410c/*.img out/target/product/db410c/*.xz
# Runs as ubuntu
repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r16
cd .repo
rm -rf local_manifests
git clone https://github.com/96boards/android_manifest -b android-6.0-db410c local_manifests
cd ..
repo sync -f --force-sync -j16
# Extract the proprietary firmware
mkdir -p vendor/db410c
cd vendor/db410c
wget --progress=dot -e dotbytes=1M http://developer.qualcomm.com/download/db410c/firmware-410c-1.2.0.bin
yes | sh firmware-410c-1.2.0.bin > /dev/null
cd ../..
mkdir -p out
cp .repo/manifest.xml out/source-manifest.xml
repo manifest -r -o out/pinned-manifest.xml
source build/envsetup.sh
lunch db410c-userdebug
make droidcore -j8
cd out/target/product/db410c/
for image in "boot-db410c.img" "system.img" "userdata.img" "cache.img" "dt.img" "ramdisk.img"; do
echo "Compressing ${image}"
xz -z ${image}
done
cd -
cp -a /home/buildslave/srv/${JOB_NAME}/out/*.xml /home/buildslave/srv/${JOB_NAME}/out/target/product/db410c/
cp -a /home/buildslave/srv/${JOB_NAME}/out/*.xml ${WORKSPACE}/
# Create MD5SUM
cd out/target/product/db410c/
md5sum *.txt *.xz *.xml *.img > MD5SUMS.txt
cd -
# Build information
cat > out/target/product/db410c/HEADER.textile << EOF
h4. Reference Platform Build - AOSP (DragonBoard 410c)
Build description:
* Build URL: "$BUILD_URL":$BUILD_URL
Please also check "RPB-AOSP-DragonBoard410c-Build":https://github.com/96boards/documentation/wiki/RPB-AOSP-DragonBoard410c-Build for more information about this build.
Install (also check the bootloader "install guide":https://github.com/96boards/documentation/wiki/Dragonboard-410c-Installation-Guide-for-Linux-and-Android#install-android-release):
bc. wget https://builds.96boards.org/snapshots/reference-platform/aosp/db410c/${BUILD_NUMBER}/boot-db410c.img.xz
wget https://builds.96boards.org/snapshots/reference-platform/aosp/db410c/${BUILD_NUMBER}/cache.img.xz
wget https://builds.96boards.org/snapshots/reference-platform/aosp/db410c/${BUILD_NUMBER}/system.img.xz
wget https://builds.96boards.org/snapshots/reference-platform/aosp/db410c/${BUILD_NUMBER}/userdata.img.xz
for f in *.xz; do xz -d \$f; done
sudo fastboot flash boot boot-db410c.img
sudo fastboot flash system system.img
sudo fastboot flash userdata userdata.img
sudo fastboot flash cache cache.img
EOF
cat > out/target/product/db410c/BUILD-INFO.txt << EOF
Format-Version: 0.5
Files-Pattern: *
License-Type: open
EOF
# Publish parameters
cat << EOF > ${WORKSPACE}/publish_parameters
PUB_SRC=${PWD}/out/target/product/db410c/
PUB_DEST=snapshots/reference-platform/aosp/db410c/${BUILD_NUMBER}
PUB_EXTRA_INC=^(BUILD-INFO.txt|HEADER.textile)$
EOF
# Construct post-build-lava parameters
cat << EOF > ${WORKSPACE}/post_build_lava_parameters
DEVICE_TYPE=apq8016-sbc
TARGET_PRODUCT=${TARGET_PRODUCT}
MAKE_TARGETS=${MAKE_TARGETS}
JOB_NAME=${JOB_NAME}
BUILD_NUMBER=${BUILD_NUMBER}
BUILD_URL=${BUILD_URL}
DOWNLOAD_URL=${PUBLISH_SERVER}/${PUB_DEST}
LAVA_SERVER=validation.linaro.org/RPC2/
IMAGE_EXTENSION=img.xz
FRONTEND_JOB_NAME=${JOB_NAME}
DOWNLOAD_URL=${PUBLISH_SERVER}/${PUB_DEST}
CUSTOM_JSON_URL=https://git.linaro.org/ci/job/configs.git/blob_plain/refs/heads/master:/96boards-reference-platform-aosp/lava-job-definitions/apq8016-sbc/template-boot.json
EOF
- inject:
properties-file: publish_parameters
- linaro-publish-token:
host: builds.96boards.org
- shell:
!include-raw:
- android/linaro-publisher.sh
- trigger-builds:
- project: 'post-build-lava'
property-file: post_build_lava_parameters
block: true
publishers:
- archive:
artifacts: '*.xml'
latest-only: true
- logparser:
parse-rules: '/var/lib/jenkins/userContent/android.parse'
unstable-on-warning: false
fail-on-error: false
- fingerprint:
files: 'build/fingerprints/*'
- email:
recipients: 'fathi.boudra@linaro.org ricardo.salveti@linaro.org'
|