You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
| #!/usr/bin/env bash
 | |
| 
 | |
| . $(dirname $0)/util
 | |
| set -eu -o pipefail
 | |
| 
 | |
| : ${BUILDX_NOCACHE=}
 | |
| : ${TEST_COVERAGE=}
 | |
| 
 | |
| importCacheFlags=""
 | |
| if [ -n "$cacheRefFrom" ]; then
 | |
|   if [ "$cacheType" = "local" ]; then
 | |
|     for ref in $cacheRefFrom; do
 | |
|       importCacheFlags="$importCacheFlags--cache-from=type=local,src=$ref "
 | |
|     done
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| iid="buildx-tests"
 | |
| iidfile=$(mktemp -t docker-iidfile.XXXXXXXXXX)
 | |
| 
 | |
| coverageVol=""
 | |
| coverageFlags=""
 | |
| if [ "$TEST_COVERAGE" = "1" ]; then
 | |
|   covdir="$(pwd)/coverage"
 | |
|   mkdir -p "$covdir"
 | |
|   coverageVol="-v $covdir:/coverage"
 | |
|   coverageFlags="-coverprofile=/coverage/coverage.txt -covermode=atomic"
 | |
| fi
 | |
| 
 | |
| buildxCmd build $importCacheFlags \
 | |
|   --target "integration-tests" \
 | |
|   --output "type=docker,name=$iid" \
 | |
|   $currentcontext
 | |
| 
 | |
| cacheVolume="buildx-cache"
 | |
| if ! docker inspect "$cacheVolume" > /dev/null 2>&1; then
 | |
|   cacheVolume=$(docker create --name=buildx-cache -v /root/.cache -v /go/pkg/mod alpine)
 | |
| fi
 | |
| 
 | |
| docker run --rm -v /tmp $coverageVol --volumes-from=$cacheVolume --privileged $iid go test $coverageFlags ${TESTFLAGS:--v} ${TESTPKGS:-./...}
 | |
| 
 | |
| if [ -n "$BUILDX_NOCACHE" ]; then
 | |
|   docker rm -v $cacheVolume
 | |
| fi
 | |
| 
 | |
| rm "$iidfile"
 | |
| docker rmi $iid
 |