testing/cloudbuild/run.bash (33 lines of code) (raw):

#!/bin/bash set -e mv key.json /tmp/key.json export GOOGLE_APPLICATION_CREDENTIALS=/tmp/key.json export GOLANG_SAMPLES_KMS_KEYRING=ring1 export GOLANG_SAMPLES_KMS_CRYPTOKEY=key1 curl https://storage.googleapis.com/gimme-proj/linux_amd64/gimmeproj > /bin/gimmeproj && chmod +x /bin/gimmeproj; gimmeproj version; export GOLANG_SAMPLES_PROJECT_ID=$(gimmeproj -project golang-samples-tests lease 12m); if [ -z "$GOLANG_SAMPLES_PROJECT_ID" ]; then echo "Lease failed." exit 1 fi echo "Running tests in project $GOLANG_SAMPLES_PROJECT_ID"; trap "gimmeproj -project golang-samples-tests done $GOLANG_SAMPLES_PROJECT_ID" EXIT set -x export GOLANG_SAMPLES_SPANNER=projects/golang-samples-tests/instances/golang-samples-tests export GOLANG_SAMPLES_SPANNER_INSTANCE_CONFIG="regional-us-west1" date if [[ -d /cache ]]; then time mv /cache/* . echo 'Uncached' fi # Re-organize files export GOPATH=$PWD/gopath oldfiles=$(ls | grep -v '^gopath$') target=$GOPATH/src/github.com/GoogleCloudPlatform/golang-samples mkdir -p $target mv $oldfiles $target cd $target # Do the easy stuff first. Fail fast! diff -u <(echo -n) <(gofmt -d -s .) go vet ./... # Download imports. time go get -u -v $(go list -f '{{join .Imports "\n"}}{{"\n"}}{{join .TestImports "\n"}}' ./... | sort | uniq | grep -v golang-samples) date # Run all of the tests go test -timeout 20m -v ./...