chiark / gitweb /
script to run ./makebuildserver on Jenkins instances
authorHans-Christoph Steiner <hans@eds.org>
Wed, 3 Feb 2016 21:00:48 +0000 (22:00 +0100)
committerHans-Christoph Steiner <hans@eds.org>
Thu, 4 Feb 2016 19:16:35 +0000 (20:16 +0100)
This is being used to run it on both Guardian Project's and Debian's
Jenkins instances.

jenkins-build-makebuildserver [new file with mode: 0755]

diff --git a/jenkins-build-makebuildserver b/jenkins-build-makebuildserver
new file mode 100755 (executable)
index 0000000..5b9c422
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+if [ `dirname $0` != "." ]; then
+    echo "only run this script like ./`basename $0`"
+    exit
+fi
+
+if [ -z $WORKSPACE ]; then
+    WORKSPACE=`pwd`
+fi
+
+# make sure that no VirtualBox processes are left running
+cleanup_all() {
+    echo "$(date -u) - cleanup in progress..."
+    ps auxww|grep VBox
+    cd $WORKSPACE/buildserver
+    vagrant halt || true
+    sleep 5
+    killall VBoxHeadless || true
+    sleep 5
+    killall -9 VBoxHeadless || true
+    echo "$(date -u) - cleanup done."
+}
+trap cleanup_all INT TERM EXIT
+
+set -e
+set -x
+
+# make sure we have the vagrant box image cached
+test -e ~/.cache/fdroidserver || mkdir -p ~/.cache/fdroidserver
+cd ~/.cache/fdroidserver
+wget --tries=1 --timeout=5 --continue https://f-droid.org/jessie32.box || true
+echo "ff6b0c0bebcb742783becbc51a9dfff5a2a0a839bfcbfd0288dcd3113f33e533  jessie32.box" > jessie32.box.sha256
+sha256sum -c jessie32.box.sha256
+
+# redirect homes to be in the git repo, so they'll get cleaned and reset
+export XDG_CONFIG_HOME=$WORKSPACE
+export VBOX_USER_HOME=$WORKSPACE/VirtualBox
+mkdir $VBOX_USER_HOME
+VBoxManage setproperty machinefolder $WORKSPACE/virtualbox.d
+VBoxManage setproperty logginglevel debug
+export VAGRANT_HOME=$WORKSPACE/vagrant.d
+mkdir $VAGRANT_HOME
+
+cd $WORKSPACE
+echo "debian_mirror = 'http://ftp.uk.debian.org/debian/'" > $WORKSPACE/makebuildserver.config.py
+echo "boot_timeout = 1200" >> $WORKSPACE/makebuildserver.config.py
+echo "apt_package_cache = True" >> $WORKSPACE/makebuildserver.config.py
+./makebuildserver
+