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