mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-11-04 10:03:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 |