mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-14 02:50:12 +01:00
b5cc35c44f
org.xcsoar hosts its own git repo. Self-hosted git repos can be flaky, and they are blocked by the Guardian Project jenkins server, so use an app from github.com instead.
75 lines
2.2 KiB
Bash
Executable File
75 lines
2.2 KiB
Bash
Executable File
#!/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
|
|
|
|
# this can be handled in the jenkins job, or here:
|
|
if [ -e fdroiddata ]; then
|
|
cd fdroiddata
|
|
git checkout master
|
|
git pull
|
|
cd ..
|
|
else
|
|
git clone --depth 1 https://gitlab.com/fdroid/fdroiddata.git fdroiddata
|
|
fi
|
|
|
|
cd fdroiddata
|
|
echo "build_server_always = True" > config.py
|
|
# Gradle, JNI, preassemble
|
|
../fdroid build --stop org.adaway:55
|
|
# Maven
|
|
../fdroid build --stop org.quantumbadger.redreader:55
|
|
# Ant, submodules and custom prebuild/build
|
|
../fdroid build --stop app.openconnect:959
|
|
# Custom build (make)
|
|
../fdroid build --stop com.amaze.filemanager:29
|
|
# Uses verification
|
|
../fdroid build --stop info.guardianproject.checkey:101
|
|
# Gradle with retrolambda (JDK7 and JDK8)
|
|
../fdroid build --stop com.moez.QKSMS:124
|