diff options
author | Fathi Boudra <fathi.boudra@linaro.org> | 2016-08-19 19:37:29 +0300 |
---|---|---|
committer | Fathi Boudra <fathi.boudra@linaro.org> | 2016-08-19 16:44:50 +0000 |
commit | 89417c7dfafd29d48cb237d7925689b5d281e7e5 (patch) | |
tree | ed1c51b4ce9f0032b723f574d8e7b7e12da4b683 /android-lcr/common | |
parent | 68300e1a468fcab8efc079986c4f655ef7237675 (diff) |
android-lcr: change the naming scheme and paths to reflect the module
Change-Id: I761f963c8482a5ebc0a9b6fdec1f4d0fe2e195b3
Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Diffstat (limited to 'android-lcr/common')
-rwxr-xr-x | android-lcr/common/builders.sh | 103 | ||||
-rw-r--r-- | android-lcr/common/publishers.yaml.inc | 22 |
2 files changed, 125 insertions, 0 deletions
diff --git a/android-lcr/common/builders.sh b/android-lcr/common/builders.sh new file mode 100755 index 0000000000..f3614b9e22 --- /dev/null +++ b/android-lcr/common/builders.sh @@ -0,0 +1,103 @@ +#!/bin/bash + +trap cleanup_exit INT TERM EXIT + +cleanup_exit() +{ + [[ -n ${SSH_AGENT_PID} ]] && kill -9 ${SSH_AGENT_PID} ||: +} + +# Install needed packages +sudo add-apt-repository ppa:linaro-maintainers/tools +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 bison git gperf libxml2-utils python-mako zip time python-pycurl genisoimage patch mtools python-wand + +# Install most recent linaro-image-tools (packaged) and dependencies +sudo apt-get install -y gdisk libyaml-0-2 python-apt python-chardet python-dbus python-dbus-dev \ + python-debian python-gi python-parted python-pkg-resources python-six python-yaml u-boot-tools \ + python-commandnotfound parted python-crypto +wget -q \ + http://repo.linaro.org/ubuntu/linaro-overlay/pool/main/a/android-tools/android-tools-fsutils_4.2.2+git20130218-3ubuntu41+linaro1_amd64.deb \ + http://repo.linaro.org/ubuntu/linaro-tools/pool/main/l/linaro-image-tools/linaro-image-tools_2016.05-1linarojessie1_amd64.deb \ + http://repo.linaro.org/ubuntu/linaro-tools/pool/main/l/linaro-image-tools/python-linaro-image-tools_2016.05-1linarojessie1_all.deb +sudo dpkg -i --force-all *.deb +rm -f *.deb + +# Set local configuration +git config --global user.email "ci_notify@linaro.org" +git config --global user.name "Linaro CI" +java -version +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} + +if [[ -n $PRIVATE_KEY ]]; then +# Handle private key +mkdir -p $HOME/.ssh + +TMPKEYDIR=$(mktemp -d /tmp/linaroandroid.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 linaro-private-key + +eval `ssh-agent` >/dev/null 2>/dev/null +ssh-add linaro-private-key >/dev/null 2>/dev/null +rm -rf linaro-private-key ${TMPKEYDIR} + +ssh-keyscan dev-private-git.linaro.org >> $HOME/.ssh/known_hosts +ssh-keyscan dev-private-review.linaro.org >> $HOME/.ssh/known_hosts +[[ -n "$GERRIT_HOST" ]] && ssh-keyscan $GERRIT_HOST >> $HOME/.ssh/known_hosts +cat << EOF >> $HOME/.ssh/config +Host dev-private-git.linaro.org + User git +Host dev-private-review.linaro.org + User git +EOF +chmod 0600 $HOME/.ssh/* +fi + +# Download helper scripts (repo, linaro-cp) +mkdir -p ${HOME}/bin +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} + +# Install helper packages +rm -rf 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 + +set -xe +# Define job configuration's repo +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` +export SKIP_LICENSE_CHECK=1 diff --git a/android-lcr/common/publishers.yaml.inc b/android-lcr/common/publishers.yaml.inc new file mode 100644 index 0000000000..5b3a89f44a --- /dev/null +++ b/android-lcr/common/publishers.yaml.inc @@ -0,0 +1,22 @@ + - email-ext: + recipients: '${GERRIT_CHANGE_OWNER_EMAIL},${GERRIT_EVENT_ACCOUNT_EMAIL},vishal.bhoj@linaro.org,daniel.diaz@linaro.org' + content-type: text + body: | + Build Triggered by: ${GERRIT_CHANGE_SUBJECT}: ${GERRIT_CHANGE_URL} + Build URL: ${PROJECT_URL}${BUILD_NUMBER}/ + Full log: ${PROJECT_URL}${BUILD_NUMBER}/consoleText + Parsed warnings/errors: ${PROJECT_URL}${BUILD_NUMBER}/parsed_console + + Errors: + ${BUILD_LOG_REGEX, regex=".*ERROR:.* ", linesBefore=0, linesAfter=0, showTruncatedLines=false} + - 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 fathi.boudra@linaro.org daniel.diaz@linaro.org' |