github.com/kaisawind/go-swagger@v0.19.0/.circleci/build-docker.sh (about) 1 #!/bin/bash 2 3 set -e -o pipefail 4 5 # Run test coverage on each subdirectories and merge the coverage profile. 6 echo "mode: ${GOCOVMODE-atomic}" > coverage.txt 7 repo_pref="github.com/${CIRCLE_PROJECT_USERNAME-"$(basename "$(pwd)")"}/${CIRCLE_PROJECT_REPONAME-"$(basename "$(pwd)")"}/" 8 # Standard go tooling behavior is to ignore dirs with leading underscores 9 for dir in $(go list ./... | grep -v -E 'vendor|fixtures|examples') 10 do 11 pth="${dir//*$repo_pref}" 12 go test -vet off -tags netgo -installsuffix netgo -covermode=${GOCOVMODE-atomic} -coverprofile=${pth}/profile.tmp $dir 13 if [ -f $pth/profile.tmp ] 14 then 15 cat $pth/profile.tmp | tail -n +2 >> coverage.txt 16 rm -f $pth/profile.tmp 17 fi 18 done 19 20 LDFLAGS="-s -w -linkmode external -extldflags \"-static\"" 21 LDFLAGS="$LDFLAGS -X github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/cmd/swagger/commands.Commit=${CIRCLE_SHA1} -X github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/cmd/swagger/commands.Version=${CIRCLE_TAG-dev}" 22 23 go tool cover -func coverage.txt 24 gocov convert coverage.txt | gocov report 25 gocov convert coverage.txt | gocov-html > /usr/share/coverage/coverage-${CIRCLE_BUILD_NUM-"0"}.html 26 go build -o /usr/share/dist/swagger --ldflags "$LDFLAGS" ./cmd/swagger 27 28 go install ./cmd/swagger 29 30 ./hack/run-canary.sh