github.com/thetreep/go-swagger@v0.0.0-20240223100711-35af64f14f01/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 target="${1}" 10 shift 11 extra="${@}" 12 13 if [[ "${target}" == "--circleci" ]] ; then 14 # CI build mode (for releases) 15 username="${CIRCLE_PROJECT_USERNAME-"$(basename "$PWD")"}" 16 project="${CIRCLE_PROJECT_REPONAME-"$(basename "$PWD")"}" 17 commit_property="github.com/$username/$project/cmd/swagger/commands.Commit=${CIRCLE_SHA1}" 18 tag_property="github.com/$username/$project/cmd/swagger/commands.Version=${CIRCLE_TAG-dev}" 19 20 LDFLAGS="-s -w -X $commit_property -X $tag_property" 21 go build -a -o /usr/share/dist/swagger ${extra} --ldflags "$LDFLAGS" ./cmd/swagger 22 elif [[ "${target}" == "--github-action" ]] ; then 23 # Github workflows build mode (for releases) 24 commit_property="github.com/${GITHUB_REPOSITORY}/cmd/swagger/commands.Commit=${GITHUB_SHA}" 25 tag_property="github.com/${GITHUB_REPOSITORY}/cmd/swagger/commands.Version=${GITHUB_REF_NAME-dev}" 26 27 LDFLAGS="-s -w -X $commit_property -X $tag_property" 28 go install -a --ldflags "$LDFLAGS" ${extra} ./cmd/swagger 29 go build -o ./dist/swagger --ldflags "$LDFLAGS" ${extra} ./cmd/swagger 30 else 31 # manual build mode 32 go build -o ./dist/swagger ${extra} ./cmd/swagger 33 go install ${extra} ./cmd/swagger 34 fi 35 36