fdroid-server/jenkins-test

62 lines
1.7 KiB
Plaintext
Raw Normal View History

#!/bin/bash
#
# this is the script run by the Jenkins server to run the tools tests. Be
# sure to always run it in its dir, i.e. ./jenkins-test, otherwise it might
# remove things that you don't want it to.
#
# runs here:
# https://jenkins.debian.net/job/reproducible_fdroid_test
if [ `dirname $0` != "." ]; then
echo "only run this script like ./`basename $0`"
exit
fi
# jenkins.debian.net slaves do not export WORKSPACE
if [ -z $WORKSPACE ]; then
export WORKSPACE=`pwd`
fi
set -e
set -x
# set up Android SDK to use the Debian packages in stretch
export ANDROID_HOME=/usr/lib/android-sdk
rm -rf "$WORKSPACE/.testfiles"
cd tests
echo "Debian's build-tools is too old, remove once the package has been updated"
sed -i '/android.permission.READ_EXTERNAL_STORAGE/d' repo/index.xml
sed -i '/^diff -uw .*index-v1.json$/d' run-tests
./run-tests $WORKSPACE/fdroiddata/repo
# this is set up and managed by jenkins-build-all
cd $WORKSPACE/fdroiddata
rm -f config.py keystore.jks
../fdroid init --verbose
../fdroid update
export GNUPGHOME=$WORKSPACE/tests/gnupghome
gpg --import $GNUPGHOME/secring.gpg
echo "build_server_always = True" >> config.py
echo "gpghome = '$GNUPGHOME'" >> config.py
echo "gpgkey = 'CE71F7FB'" >> config.py
chmod 0600 config.py
sed -i '/\s*repo_key_sha256\s*=.*/d' config.py
# publish process when building and signing are on separate machines
test -d repo || mkdir repo
test -d archive || mkdir archive
# when everything is copied over to run on SIGN machine
../fdroid publish
../fdroid gpgsign
# when everything is copied over to run on BUILD machine
../fdroid update --nosign
# when everything is copied over to run on SIGN machine
../fdroid signindex --verbose
../fdroid rewritemeta --quiet
git --no-pager diff