- job: name: lkft-aosp-master-cts-vts project-type: freestyle defaults: global logrotate: daysToKeep: 60 numToKeep: 60 properties: - authorization: anonymous: - job-read - job-extended-read linaro: - job-build - job-cancel disabled: true node: docker-xenial-aosp display-name: 'LKFT AOSP Master CTS/VTS builds' concurrent: true triggers: - timed : 'H 0 * * *' wrappers: - timestamps - timeout: timeout: 900 - credentials-binding: - text: credential-id: ARTIFACTORIAL_TOKEN variable: ARTIFACTORIAL_TOKEN builders: - shell: | #!/bin/bash export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 java -version 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 python-pip pxz libssl-dev 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 chmod a+x ${HOME}/bin/* export PATH=${HOME}/bin:${PATH} DIR_SRV_AOSP_MASTER="/home/buildslave/srv/aosp-master" if [ ! -d "${DIR_SRV_AOSP_MASTER}" ]; then sudo mkdir -p "${DIR_SRV_AOSP_MASTER}" sudo chmod 777 "${DIR_SRV_AOSP_MASTER}" fi cd "${DIR_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 .repo/manifests* .repo/local_manifests build-tools jenkins-tools 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 ANDROID_ROOT="${DIR_SRV_AOSP_MASTER}/build" DIR_PUB_SRC="${ANDROID_ROOT}/out" # clean the out directory as this workspace is used accross multiple builds rm -fr ${DIR_SRV_AOSP_MASTER}/.repo-backup if [ -d "${ANDROID_ROOT}/.repo" ]; then mv -f ${ANDROID_ROOT}/.repo ${DIR_SRV_AOSP_MASTER}/.repo-backup fi rm -fr ${ANDROID_ROOT}/ && mkdir -p ${ANDROID_ROOT} if [ -d "${DIR_SRV_AOSP_MASTER}/.repo-backup" ]; then mv -f ${DIR_SRV_AOSP_MASTER}/.repo-backup ${ANDROID_ROOT}/.repo fi # build cts/vts under ${ANDROID_ROOT} cd ${ANDROID_ROOT} for f_build_config in aosp-master-cts aosp-master-vts; do export BUILD_CONFIG_FILENAME="${f_build_config}" # Early test if [ ! -f ${DIR_SRV_AOSP_MASTER}/build-configs/${BUILD_CONFIG_FILENAME} ]; then echo "No config file named ${BUILD_CONFIG_FILENAME} exists" echo "in android-build-configs.git" exit 1 fi # Build Android CTS/VTS ${DIR_SRV_AOSP_MASTER}/build-configs/linaro-build.sh -c ${BUILD_CONFIG_FILENAME} [ -f ${DIR_PUB_SRC}/host/linux-x86/vts/android-vts.zip ] && mv -fv ${DIR_PUB_SRC}/host/linux-x86/vts/android-vts.zip ${DIR_PUB_SRC}/ [ -f ${DIR_PUB_SRC}/host/linux-x86/cts/android-cts.zip ] && mv -fv ${DIR_PUB_SRC}/host/linux-x86/cts/android-cts.zip ${DIR_PUB_SRC}/ done rm -rf ${DIR_PUB_SRC}/host/ rm -rf ${DIR_PUB_SRC}/BUILD-INFO.txt wget https://git.linaro.org/ci/job/configs.git/blob_plain/HEAD:/android-lcr/hikey/build-info/aosp-master-template.txt -O ${DIR_PUB_SRC}/BUILD-INFO.txt cp -a ${ANDROID_ROOT}/out/pinned-manifest/*-pinned-manifest.xml ${ANDROID_ROOT}/out cp -a ${ANDROID_ROOT}/out/pinned-manifest/*-pinned-manifest.xml ${WORKSPACE}/ || true cp -a ${DIR_PUB_SRC}/*.xml ${DIR_PUB_SRC}/*.json ${WORKSPACE}/ || true # Publish parameters cat << EOF > ${WORKSPACE}/publish_parameters PUB_DEST=android/lkft/lkft-aosp-master-cts-vts/${BUILD_NUMBER} PUB_SRC=${DIR_PUB_SRC} PUB_EXTRA_INC=^[^/]+\.(dtb|dtbo|zip)$|MLO|vmlinux|System.map EOF - inject: properties-file: publish_parameters - linaro-publish-token - shell: !include-raw: - android/linaro-publisher.sh - shell: | #!/bin/bash -e export PUB_DEST=android/lkft/lkft-aosp-master-cts-vts/${BUILD_NUMBER} export VTS_URL=http://snapshots.linaro.org/${PUB_DEST} export CTS_URL=http://snapshots.linaro.org/${PUB_DEST} echo "VTS_URL=${VTS_URL}" > cts_vts_url_parameters echo "CTS_URL=${CTS_URL}" >> cts_vts_url_parameters cat cts_vts_url_parameters publishers: - trigger-parameterized-builds: - project: - 'lkft-aosp-master-x15' condition: SUCCESS property-file: cts_vts_url_parameters - 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: 'tom.gall@linaro.org yongqin.liu@linaro.org'