github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/scripts/build_tool.sh (about)

     1  #!/usr/bin/env bash
     2  # ----------------------------------------------------------
     3  # PURPOSE
     4  
     5  # This is the build script for the Monax stack. It will
     6  # build the tool into docker containers in a reliable and
     7  # predictable manner.
     8  
     9  # ----------------------------------------------------------
    10  # REQUIREMENTS
    11  #
    12  # docker, go, make, and git installed locally
    13  
    14  # ----------------------------------------------------------
    15  # USAGE
    16  
    17  # build_tool.sh [version tag]
    18  
    19  # ----------------------------------------------------------
    20  
    21  set -e
    22  
    23  script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
    24  
    25  # Grab date, commit, version
    26  . "$script_dir/local_version.sh" > /dev/null
    27  
    28  DOCKER_REPO=${DOCKER_REPO:-"hyperledger/burrow"}
    29  REPO=${REPO:-"$PWD"}
    30  
    31  function log() {
    32      echo "$*" >> /dev/stderr
    33  }
    34  
    35  if [[ "$1" ]] ; then
    36      # If argument provided, use it as the version tag
    37      log "Overriding detected version $version and tagging image as $1"
    38      version="$1"
    39  fi
    40  
    41  # Expiry is intended for dev images, if we want more persistent Burrow images on quay.io we should remove this...
    42  docker build \
    43    --label quay.expires-after=24w\
    44    --label org.label-schema.version=${version}\
    45    --label org.label-schema.vcs-ref=${commit}\
    46    --label org.label-schema.build-date=${date}\
    47    -t ${DOCKER_REPO}:${version} ${REPO}
    48  
    49  # Quick smoke test
    50  echo "Emitting version from docker image as smoke test..."
    51  docker run ${DOCKER_REPO}:${version} -v
    52