jenkins: move tests to separate job

The setup and build_all jobs take a very long time to run, so its really
annoying when they are marked as failed just because one small thing in the
test suite failed.  So move the test suite to its own job that can be run
more frequently.
This commit is contained in:
Hans-Christoph Steiner 2017-11-08 09:38:02 +01:00
parent dc23defb41
commit d347f3ebb2
3 changed files with 51 additions and 27 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash
#
# this is the script run by the Jenkins server to run the build and tests. Be
# sure to always run it in its dir, i.e. ./jenkins-build.sh, otherwise it might
# this is the script run by the Jenkins server to run the build tests. Be
# sure to always run it in its dir, i.e. ./jenkins-build, otherwise it might
# remove things that you don't want it to.
if [ `dirname $0` != "." ]; then
@ -17,11 +17,6 @@ fi
set -e
set -x
# this is a local repo on the Guardian Project Jenkins server
cd tests
#./complete-ci-tests /var/www/fdroid
# report info about virtualization
(dmesg | grep -i -e hypervisor -e qemu -e kvm) || true
(lspci | grep -i -e virtio -e virtualbox -e qemu -e kvm) || true

View File

@ -86,12 +86,6 @@ if [ -z $ANDROID_HOME ]; then
fi
fi
../fdroid init --verbose
export GNUPGHOME=$WORKSPACE/tests/gnupghome
echo "gpghome = '$GNUPGHOME'" >> config.py
echo "gpgkey = 'CE71F7FB'" >> config.py
echo "build_server_always = True" >> config.py
# if it can't build fdroid, then its really broken
../fdroid build --verbose --stop --latest org.fdroid.fdroid
# Gradle, JNI, preassemble
@ -100,17 +94,3 @@ echo "build_server_always = True" >> config.py
../fdroid build --verbose --stop org.fdroid.fdroid:96150
# test OTA update ZIP build and publish
../fdroid build --verbose --stop org.fdroid.fdroid.privileged.ota:2070
# publish process when building and signing are on separate machines
test -d repo || mkdir repo
test -d archive || mkdir archive
# copy everything over to run on SIGN machine
../fdroid publish --verbose
../fdroid gpgsign --verbose
# copy everything over to run on BUILD machine
../fdroid update --verbose --nosign
# copy everything over to run on SIGN machine
../fdroid signindex --verbose
../fdroid rewritemeta --verbose
git --no-pager diff

49
jenkins-test Normal file
View File

@ -0,0 +1,49 @@
#!/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.
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
cd tests
./run-tests $WORKSPACE/fdroiddata/unsigned
# set up Android SDK to use the Debian packages in stretch
export ANDROID_HOME=/usr/lib/android-sdk
# the way we handle jenkins slaves doesn't copy the workspace to the slaves
# so we need to "manually" clone the git repo here…
cd $WORKSPACE/fdroiddata
test -e config.py || ../fdroid init --verbose
export GNUPGHOME=$WORKSPACE/tests/gnupghome
echo "build_server_always = True" > config.py
echo "gpghome = '$GNUPGHOME'" >> config.py
echo "gpgkey = 'CE71F7FB'" >> 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 --verbose
../fdroid gpgsign --verbose
# when everything is copied over to run on BUILD machine
../fdroid update --verbose --nosign
# when everything is copied over to run on SIGN machine
../fdroid signindex --verbose
../fdroid rewritemeta --verbose
git --no-pager diff