github.com/jamescostian/go-swagger@v0.30.4-0.20221130163922-68364d6b567b/hack/build-docker.sh (about) 1 #!/bin/bash 2 3 # Bails on any command failure 4 set -e -o pipefail -x 5 6 cd "$(git rev-parse --show-toplevel)" 7 echo "Building swagger from $(pwd)..." 8 9 if [[ ${1} == "--circleci" ]] ; then 10 # CI build mode (for releases) 11 username="${CIRCLE_PROJECT_USERNAME-"$(basename "$PWD")"}" 12 project="${CIRCLE_PROJECT_REPONAME-"$(basename "$PWD")"}" 13 commit_property="github.com/$username/$project/cmd/swagger/commands.Commit=${CIRCLE_SHA1}" 14 tag_property="github.com/$username/$project/cmd/swagger/commands.Version=${CIRCLE_TAG-dev}" 15 16 LDFLAGS="-s -w -X $commit_property -X $tag_property" 17 go build -a -o /usr/share/dist/swagger --ldflags "$LDFLAGS" ./cmd/swagger 18 elif [[ ${1} == "--github-action" ]] ; then 19 # Github workflows build mode (for releases) 20 commit_property="github.com/${GITHUB_REPOSITORY}/cmd/swagger/commands.Commit=${GITHUB_SHA}" 21 tag_property="github.com/${GITHUB_REPOSITORY}/cmd/swagger/commands.Version=${GITHUB_REF_NAME-dev}" 22 23 LDFLAGS="-s -w -X $commit_property -X $tag_property" 24 go install -a --ldflags "$LDFLAGS" ./cmd/swagger 25 go build -o ./dist/swagger --ldflags "$LDFLAGS" ./cmd/swagger 26 else 27 # manual build mode 28 go build -o ./dist/swagger ./cmd/swagger 29 go install ./cmd/swagger 30 fi 31 32