- job: name: lt-qcom-db410c-bootloader project-type: freestyle defaults: global logrotate: daysToKeep: 30 numToKeep: 30 properties: - authorization: linaro-landing-team-qualcomm-personnel: - job-read - job-build - job-cancel parameters: - password: name: PRIVATE_KEY default: ${LT_QUALCOMM_PRIVATE_KEY} - string: name: BRANCH default: 'master' disabled: false node: docker-utopic display-name: 'Qualcomm bootloader for DragonBoard 410c' wrappers: - timestamps builders: - linaro-publish-token: host: builds.96boards.org - shell: | #!/bin/bash set -e trap cleanup_exit INT TERM EXIT cleanup_exit() { cd ${WORKSPACE} kill -9 ${SSH_AGENT_PID} rm -rf out* } sudo apt-get update sudo apt-get install -y python-pycurl zip TMPKEYDIR=$(mktemp -d /tmp/qcom.XXXXXX) cat > ${TMPKEYDIR}/private-key-wrapper.py << EOF #!/usr/bin/python import os import sys def main(): private_key = os.environ.get("PRIVATE_KEY", "Undefined") if private_key == "Undefined": sys.exit("PRIVATE_KEY is not defined.") buffer = private_key.replace(' ','\n') with open('linaro-private-key', 'w') as f: f.write('-----BEGIN RSA PRIVATE KEY-----\n') f.write(buffer) f.write('\n-----END RSA PRIVATE KEY-----\n') if __name__ == "__main__": main() EOF python ${TMPKEYDIR}/private-key-wrapper.py chmod 0600 ${WORKSPACE}/linaro-private-key eval `ssh-agent` >/dev/null 2>/dev/null ssh-add ${WORKSPACE}/linaro-private-key >/dev/null 2>/dev/null rm -rf ${WORKSPACE}/linaro-private-key ${TMPKEYDIR} mkdir ~/.ssh ssh-keyscan dev-private-git.linaro.org >> ~/.ssh/known_hosts cat << EOF >> ~/.ssh/config Host dev-private-git.linaro.org User git EOF chmod 0600 ~/.ssh/* git clone --depth 1 -b ${BRANCH} ssh://dev-private-git.linaro.org/landing-teams/working/qualcomm/db410c_bootloader.git ${WORKSPACE} # record commit info in build log git log export ANDROID_ROOTFS_BUILD_NUMBER=`wget -q --no-check-certificate -O - https://ci.linaro.org/jenkins/job/96boards-dragonboard410c-android/lastSuccessfulBuild/buildNumber` export ROOTFS_BUILD_URL="http://builds.96boards.org/snapshots/dragonboard410c/qualcomm/android/${ANDROID_ROOTFS_BUILD_NUMBER}" cd emmc_android wget --progress=dot -e dotbytes=2M "${ROOTFS_BUILD_URL}/boot.img.tar.xz" wget --progress=dot -e dotbytes=2M "${ROOTFS_BUILD_URL}/recovery.img.tar.xz" wget --progress=dot -e dotbytes=2M "${ROOTFS_BUILD_URL}/system.img.tar.xz" wget --progress=dot -e dotbytes=2M "${ROOTFS_BUILD_URL}/userdata.img.tar.xz" wget --progress=dot -e dotbytes=2M "${ROOTFS_BUILD_URL}/persist.img.tar.xz" wget --progress=dot -e dotbytes=2M "${ROOTFS_BUILD_URL}/cache.img.tar.xz" for f in *.img.tar.xz; do tar xf $f; done cat << EOF >> os.json { "name": "Android for Dragonboard 410c - Build #${ANDROID_ROOTFS_BUILD_NUMBER}", "url": "http://builds.96boards.org/releases/dragonboard410c", "version": "15.05", "release_date": "2015-06-04", "description": "Android release for Dragonboard 410c" } EOF cd ../emmc_linux export ROOTFS_BUILD_NUMBER=`wget -q --no-check-certificate -O - https://ci.linaro.org/jenkins/job/lt-qcom-ubuntu-images-arm64/lastSuccessfulBuild/buildNumber` export ROOTFS_BUILD_TIMESTAMP=`wget -q --no-check-certificate -O - https://ci.linaro.org/jenkins/job/lt-qcom-ubuntu-images-arm64/lastSuccessfulBuild/buildTimestamp?format=yyyyMMdd` export ROOTFS_BUILD_URL="http://builds.96boards.org/snapshots/dragonboard410c/linaro/ubuntu/${ROOTFS_BUILD_NUMBER}/" wget --progress=dot -e dotbytes=2M "${ROOTFS_BUILD_URL}/boot-linaro-vivid-qcom-snapdragon-arm64-${ROOTFS_BUILD_TIMESTAMP}-${ROOTFS_BUILD_NUMBER}.img.gz" -O boot.img.gz wget --progress=dot -e dotbytes=2M "${ROOTFS_BUILD_URL}/linaro-vivid-alip-qcom-snapdragon-arm64-${ROOTFS_BUILD_TIMESTAMP}-${ROOTFS_BUILD_NUMBER}.img.gz" -O rootfs.img.gz gunzip *.img.gz cat << EOF >> os.json { "name": "Linaro Linux Desktop for Dragonboard 410c - Build #${ROOTFS_BUILD_NUMBER}", "url": "http://builds.96boards.org/releases/dragonboard410c", "version": "15.05", "release_date": "2015-06-04", "description": "Linaro Linux with LXDE desktop based on Ubuntu 15.04 for Dragonboard 410c" } EOF cd ../sd_install # quick hack for now, need to create the proper job that builds the initrd wget --progress=dot -e dotbytes=2M http://people.linaro.org/~nicolas.dechesne/boot-burn.img cd .. ./build # add license.txt file wget https://git.linaro.org/landing-teams/working/qualcomm/lt-docs.git/blob_plain/HEAD:/license/license.txt for d in sdcard_install_ubuntu sdcard_install_android sdcard_rescue bootloader_emmc_linux bootloader_emmc_android; do cp license.txt out/dragonboard410c_$d done # Final preparation of archives for publishing mkdir out-rescue zip -rj out-rescue/dragonboard410c_sdcard_install_ubuntu-${BUILD_NUMBER}-${ROOTFS_BUILD_NUMBER}.zip out/dragonboard410c_sdcard_install_ubuntu zip -rj out-rescue/dragonboard410c_sdcard_install_android-${BUILD_NUMBER}-${ANDROID_ROOTFS_BUILD_NUMBER}.zip out/dragonboard410c_sdcard_install_android zip -rj out-rescue/dragonboard410c_sdcard_rescue-${BUILD_NUMBER}.zip out/dragonboard410c_sdcard_rescue zip -rj out-rescue/dragonboard410c_bootloader_emmc_linux-${BUILD_NUMBER}.zip out/dragonboard410c_bootloader_emmc_linux zip -rj out-rescue/dragonboard410c_bootloader_emmc_android-${BUILD_NUMBER}.zip out/dragonboard410c_bootloader_emmc_android # Create MD5SUMS file (cd out-rescue && md5sum * > MD5SUMS.txt) # Publish test -d ${HOME}/bin || mkdir ${HOME}/bin wget -q https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py time python ${HOME}/bin/linaro-cp.py \ --server ${PUBLISH_SERVER} \ --link-latest \ out-rescue snapshots/dragonboard410c/linaro/rescue/${BUILD_NUMBER} - shell: | #!/bin/bash set -e # Cleanup any sensitive files git clean -fdx rm -rf ${WORKSPACE}/* ${WORKSPACE}/.git* publishers: - email: recipients: 'nicolas.dechesne@linaro.org fathi.boudra@linaro.org' - ircbot: channels: - name: '#linaro-lt-qcomm' password: ${LT_QCOM_KEY}