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