chiark / gitweb /
jenkins-test: force new repo setup for each build
[fdroidserver.git] / jenkins-test
1 #!/bin/bash
2 #
3 # this is the script run by the Jenkins server to run the tools tests.  Be
4 # sure to always run it in its dir, i.e. ./jenkins-test, otherwise it might
5 # remove things that you don't want it to.
6 #
7 # runs here:
8 # https://jenkins.debian.net/job/reproducible_fdroid_test
9
10 if [ `dirname $0` != "." ]; then
11     echo "only run this script like ./`basename $0`"
12     exit
13 fi
14
15 # jenkins.debian.net slaves do not export WORKSPACE
16 if [ -z $WORKSPACE ]; then
17     export WORKSPACE=`pwd`
18 fi
19
20 set -e
21 set -x
22
23 # set up Android SDK to use the Debian packages in stretch
24 export ANDROID_HOME=/usr/lib/android-sdk
25
26 cd tests
27 ./run-tests $WORKSPACE
28
29 # this is set up and managed by jenkins-build-all
30 cd $WORKSPACE/fdroiddata
31
32 rm -f config.py
33 ../fdroid init --verbose
34 ../fdroid update
35
36 export GNUPGHOME=$WORKSPACE/tests/gnupghome
37 echo "build_server_always = True" > config.py
38 echo "gpghome = '$GNUPGHOME'" >> config.py
39 echo "gpgkey = 'CE71F7FB'" >> config.py
40 chmod 0600 config.py
41
42 # publish process when building and signing are on separate machines
43 test -d repo || mkdir repo
44 test -d archive || mkdir archive
45 # when everything is copied over to run on SIGN machine
46 ../fdroid publish
47 ../fdroid gpgsign
48 # when everything is copied over to run on BUILD machine
49 ../fdroid update --nosign
50 # when everything is copied over to run on SIGN machine
51 ../fdroid signindex --verbose
52
53 ../fdroid rewritemeta --quiet
54 git --no-pager diff