mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 14:30:30 +03:00 
			
		
		
		
	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:
		
							parent
							
								
									dc23defb41
								
							
						
					
					
						commit
						d347f3ebb2
					
				
					 3 changed files with 51 additions and 27 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
									
								
							
							
						
						
									
										49
									
								
								jenkins-test
									
										
									
									
									
										Normal 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
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue