aboutsummaryrefslogtreecommitdiff
path: root/android-lcr/common
diff options
context:
space:
mode:
authorFathi Boudra <fathi.boudra@linaro.org>2016-08-19 19:37:29 +0300
committerFathi Boudra <fathi.boudra@linaro.org>2016-08-19 16:44:50 +0000
commit89417c7dfafd29d48cb237d7925689b5d281e7e5 (patch)
treeed1c51b4ce9f0032b723f574d8e7b7e12da4b683 /android-lcr/common
parent68300e1a468fcab8efc079986c4f655ef7237675 (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-xandroid-lcr/common/builders.sh103
-rw-r--r--android-lcr/common/publishers.yaml.inc22
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'