blob: 68394cd9aca494927c628e35f4d38e8b03714121 (
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
|
- job:
name: 96boards-hikey960-aosp-master
project-type: freestyle
defaults: global
logrotate:
daysToKeep: 60
numToKeep: 60
properties:
- authorization:
anonymous:
- job-read
linaro:
- job-build
- job-cancel
parameters:
- string:
name: BUILD_CONFIG_FILENAME
default: 'hikey960-aosp-master'
disabled: false
node: docker-utopic-aosp
display-name: '96boards - AOSP Master - HiKey960'
concurrent: true
triggers:
- timed : '@daily'
wrappers:
- timestamps
- timeout:
timeout: 500
- ssh-agent-credentials:
users:
- '768c1ba1-6052-4b97-a531-7e4fabda6979'
builders:
- shell: |
#!/bin/bash
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
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 pxz
wget -q http://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre-headless_8u45-b14-1_amd64.deb \
http://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre_8u45-b14-1_amd64.deb \
http://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jdk_8u45-b14-1_amd64.deb
sudo dpkg -i --force-all *.deb
mkdir -p ${HOME}/bin ${WORKSPACE}/build/out
curl https://storage.googleapis.com/git-repo-downloads/repo > ${HOME}/bin/repo
wget https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py
chmod a+x ${HOME}/bin/*
export PATH=${HOME}/bin:${PATH}
if [ ! -d "/home/buildslave/srv/aosp-master" ]; then
sudo mkdir -p /home/buildslave/srv/aosp-master
sudo chmod 777 /home/buildslave/srv/aosp-master
fi
cd /home/buildslave/srv/aosp-master
git config --global user.email "ci_notify@linaro.org"
git config --global user.name "Linaro CI"
# Runs as ubuntu
set -xe
rm -rf build-tools jenkins-tools build/out build/android-patchsets build-configs
git clone --depth 1 https://git.linaro.org/infrastructure/linaro-android-build-tools.git build-tools
git clone --depth 1 https://git.linaro.org/infrastructure/linaro-jenkins-tools.git jenkins-tools
git clone --depth 1 http://android-git.linaro.org/git/android-build-configs.git build-configs
export BUILD_CONFIG_FILENAME=${BUILD_CONFIG_FILENAME:-${JOB_NAME#android-*}}
cat << EOF > config.txt
BUILD_CONFIG_REPO=http://android-git.linaro.org/git/android-build-configs.git
BUILD_CONFIG_BRANCH=master
EOF
echo config.txt
export CONFIG=`base64 -w 0 config.txt`
# Download vendor binaries for hikey.
mkdir -p build
cd build/
rm -rf *.tgz
wget https://dl.google.com/dl/android/aosp/arm-hikey960-OPR-cf4e0c80.tgz -O arm-hikey960-OPR-cf4e0c80.tgz
tar -xvf arm-hikey960-OPR-cf4e0c80.tgz
yes "I ACCEPT" | ./extract-arm-hikey960.sh
cd -
build-tools/node/build us-east-1.ec2-git-mirror.linaro.org "${CONFIG}"
cp -a /home/buildslave/srv/aosp-master/build/out/*.xml /home/buildslave/srv/aosp-master/build/out/*.json ${WORKSPACE}/
cd /home/buildslave/srv/aosp-master/build/
source build/envsetup.sh
lunch hikey960-userdebug
sed -i "s/eng.\`whoami\`/${BUILD_NUMBER}/g" device/linaro/hikey/factory-images/generate-factory-images-hikey960.sh
sed -i "s/target\/product\/hikey960//g" device/linaro/hikey/factory-images/generate-factory-images-hikey960.sh
cd -
cd /home/buildslave/srv/aosp-master/build/out/dist/
set +xe
. ../../device/linaro/hikey/factory-images/generate-factory-images-package.sh
cp /home/buildslave/srv/aosp-master/build/out/*.xml /home/buildslave/srv/aosp-master/build/out/dist/
rm -rf pub/
mkdir pub/
cp *.zip *.xml pub/
cd -
cd /home/buildslave/srv/aosp-master/build/device/linaro/hikey/; git reset --hard; cd -;
# generate boot.img compatible with UEFI
pushd /home/buildslave/srv/aosp-master/build/out/
cp ramdisk.img dist/pub/
cp kernel Image.gz
gunzip Image.gz
cat Image 3660-hikey960.dtb >> Image-dtb
wget -q https://android-git.linaro.org/platform/system/core.git/plain/mkbootimg/mkbootimg -O mkbootimg
python mkbootimg \
--kernel Image-dtb \
--cmdline console="androidboot.hardware=hikey960 console=ttyFIQ0 androidboot.console=ttyFIQ0 firmware_class.path=/system/etc/firmware loglevel=15 buildvariant=userdebug" \
--base 0x0 --tags_offset 0x07a00000 --kernel_offset 0x00080000 \
--ramdisk_offset 0x07c00000 \
--os_version P \
--os_patch_level 2016-11-05 \
--ramdisk ramdisk.img \
--output boot.uefi.img
for img in "boot.img dt.img boot.uefi.img system.img userdata.img cache.img"; do
pxz -9 $img
done
cp *.img.xz dist/pub/
popd
wget https://git.linaro.org/ci/job/configs.git/blob_plain/HEAD:/android-lcr/hikey/build-info/aosp-master-template.txt -O build/out/dist/pub/BUILD-INFO.txt
# Delete sources after build to save space
cd build
rm -rf art/ dalvik/ kernel/ bionic/ developers/ libcore/ sdk/ bootable/ development/ libnativehelper/ system/ build/ device/ test/ build-info/ docs/ packages/ toolchain/ .ccache/ external/ pdk/ tools/ compatibility/ frameworks/ platform_testing/ vendor/ cts/ hardware/ prebuilts/ linaro*
cd -
# Publish parameters
cat << EOF > ${WORKSPACE}/publish_parameters
PUB_DEST=96boards/hikey960/linaro/aosp-master/${BUILD_NUMBER}
PUB_SRC=${PWD}/build/out/dist/pub
PUB_EXTRA_INC=^[^/]+zip
EOF
- inject:
properties-file: publish_parameters
- linaro-publish-token
- shell:
!include-raw:
- android/linaro-publisher.sh
publishers:
- archive:
artifacts: '*.xml,*.json'
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: 'vishal.bhoj@linaro.org john.stultz@linaro.org'
|