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