68 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/usr/bin/env bash
 | |
| 
 | |
| # Run the integration tests with multiple versions of the Docker engine
 | |
| 
 | |
| set -e
 | |
| set -x
 | |
| 
 | |
| DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
 | |
| 
 | |
| 
 | |
| if [ "$TMPDIR" != "" ] && [ ! -d "$TMPDIR" ]; then
 | |
| 	mkdir -p $TMPDIR
 | |
| fi
 | |
| 
 | |
| cachedir=`mktemp -t -d golem-cache.XXXXXX`
 | |
| trap "rm -rf $cachedir" EXIT
 | |
| 
 | |
| if [ "$1" == "-d" ]; then
 | |
|        # Drivers to use for Docker engines the tests are going to create.
 | |
|        STORAGE_DRIVER=${STORAGE_DRIVER:-overlay}
 | |
| 
 | |
|        docker daemon --log-level=panic --storage-driver="$STORAGE_DRIVER" &
 | |
|        DOCKER_PID=$!
 | |
| 
 | |
|        # Wait for it to become reachable.
 | |
|        tries=10
 | |
|        until docker version &> /dev/null; do
 | |
|                (( tries-- ))
 | |
|                if [ $tries -le 0 ]; then
 | |
|                        echo >&2 "error: daemon failed to start"
 | |
|                        exit 1
 | |
|                fi
 | |
|                sleep 1
 | |
|        done
 | |
| 
 | |
|        trap "kill $DOCKER_PID" EXIT
 | |
| fi
 | |
| 
 | |
| distimage=$(docker build -q $DIR/../..)
 | |
| fullversion=$(git describe --match 'v[0-9]*' --dirty='.m' --always)
 | |
| distversion=${fullversion:1}
 | |
| 
 | |
| echo "Testing image $distimage with distribution version $distversion"
 | |
| 
 | |
| # Pull needed images before invoking golem to get pull time
 | |
| # These images are defined in golem.conf
 | |
| time docker pull nginx:1.9
 | |
| time docker pull golang:1.6
 | |
| time docker pull dmcgowan/token-server:simple
 | |
| time docker pull dmcgowan/token-server:oauth
 | |
| time docker pull distribution/golem-runner:0.1-bats
 | |
| 
 | |
| time docker pull docker:1.9.1-dind
 | |
| time docker pull docker:1.10.3-dind
 | |
| time docker pull docker:1.11.1-dind
 | |
| time docker pull docker:1.12.3-dind
 | |
| time docker pull docker:1.13.0-rc5-dind
 | |
| 
 | |
| golem -cache $cachedir \
 | |
| 	-i "golem-distribution:latest,$distimage,$distversion" \
 | |
| 	-i "golem-dind:latest,docker:1.9.1-dind,1.9.1" \
 | |
| 	-i "golem-dind:latest,docker:1.10.3-dind,1.10.3" \
 | |
| 	-i "golem-dind:latest,docker:1.11.1-dind,1.11.1" \
 | |
| 	-i "golem-dind:latest,docker:1.12.3-dind,1.12.3" \
 | |
| 	-i "golem-dind:latest,docker:1.13.0-rc5-dind,1.13.0" \
 | |
| 	$DIR
 | |
| 
 |