- 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-bionic-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 #change to use python3 by default if ! python --version|grep 3; then sudo rm -fv /usr/bin/python && sudo ln -s /usr/bin/python3 /usr/bin/python fi 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 # Delete sources before 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* clang-src hikey-linaro/configs 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 -; pushd /home/buildslave/srv/aosp-master/build/out/ for img in "boot.img dt.img vendor.img system.img userdata.img super.img"; do pxz -9 $img done cp ramdisk.img *.img.xz dist/pub/ popd pushd /home/buildslave/srv/aosp-master/build/ rm -rf out/target/product/hikey960 make TARGET_KERNEL_USE=4.14 bootimage vendorimage superimage out/target/product/hikey960/dt.img cp out/target/product/hikey960/super.img out/super-4.14.img cp out/target/product/hikey960/vendor.img out/vendor-4.14.img cp out/target/product/hikey960/boot.img out/boot-4.14.img cp out/target/product/hikey960/dt.img out/dt-4.14.img cp out/target/product/hikey960/dt.img out/dt-4.14.img xz out/super-4.14.img xz out/vendor-4.14.img xz out/boot-4.14.img xz out/dt-4.14.img cp out/boot-4.14.img.xz out/super-4.14.img.xz out/vendor-4.14.img.xz out/dt-4.14.img.xz out/dist/pub/ rm -rf out/target/product/hikey960 make TARGET_KERNEL_USE=4.19 bootimage vendorimage superimage out/target/product/hikey960/dt.img cp out/target/product/hikey960/super.img out/super-4.19.img cp out/target/product/hikey960/vendor.img out/vendor-4.19.img cp out/target/product/hikey960/boot.img out/boot-4.19.img cp out/target/product/hikey960/dt.img out/dt-4.19.img cp out/target/product/hikey960/dt.img out/dt-4.19.img xz out/super-4.19.img xz out/vendor-4.19.img xz out/boot-4.19.img xz out/dt-4.19.img cp out/boot-4.19.img.xz out/super-4.19.img.xz out/vendor-4.19.img.xz out/dt-4.19.img.xz out/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 LINK_LATEST=false 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/jenkins_home/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, yongqin.liu@linaro.org'