github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/scripts/verify-release-binaries.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  set -euo pipefail
     4  
     5  BETA_TAG=${1-}
     6  
     7  if [ -z ${BETA_TAG} ]; then
     8      echo "usage: $0 <beta-tag>"
     9      exit 1
    10  fi
    11  
    12  darwin=".darwin-10.9-amd64"
    13  linux=".linux-amd64"
    14  
    15  function check_aws() {
    16    echo -n "aws binaries"
    17  
    18    local aws_bins=$(aws s3 ls s3://binaries.cockroachdb.com |
    19                     grep ${BETA_TAG} | awk '{print $NF}')
    20    for suffix in ${darwin}.tgz ${linux}.tgz; do
    21      if ! echo ${aws_bins} | grep -q ${suffix}; then
    22        echo ": cockroach-${BETA_TAG}${suffix} not found"
    23        exit 1
    24      fi
    25    done
    26  
    27    echo ": ok"
    28  }
    29  
    30  function verify_tag() {
    31    if [ "$1" != "${BETA_TAG}" ]; then
    32      echo ": expected ${BETA_TAG}, but found $1"
    33      exit 1
    34    fi
    35  }
    36  
    37  function check_linux() {
    38    echo -n "linux binary"
    39  
    40    curl -s https://binaries.cockroachdb.com/cockroach-${BETA_TAG}${linux}.tgz | tar xz
    41    local tag=$($(dirname $0)/../build/builder.sh ./cockroach-${BETA_TAG}${linux}/cockroach version |
    42                grep 'Build Tag:' | awk '{print $NF}' | tr -d '\r')
    43    rm -fr ./cockroach-${BETA_TAG}${linux}
    44    verify_tag "${tag}"
    45  
    46    echo ": ok"
    47  }
    48  
    49  function check_darwin() {
    50    echo -n "darwin binary"
    51  
    52    if [ "$(uname)" != "Darwin" ]; then
    53      echo ": not checked"
    54      return
    55    fi
    56  
    57    curl -s https://binaries.cockroachdb.com/cockroach-${BETA_TAG}${darwin}.tgz | tar xz
    58    local tag=$(./cockroach-${BETA_TAG}${darwin}/cockroach version |
    59                grep 'Build Tag:' | awk '{print $NF}' | tr -d '\r')
    60    rm -fr cockroach-${BETA_TAG}${darwin}
    61    verify_tag "${tag}"
    62  
    63    echo ": ok"
    64  }
    65  
    66  function check_docker() {
    67    echo -n "docker"
    68  
    69    trap "rm -f docker.stderr" 0
    70    local tag=$(docker run --rm cockroachdb/cockroach:${BETA_TAG} version 2>docker.stderr |
    71                grep 'Build Tag:' | awk '{print $NF}' | tr -d '\r')
    72    if [ -z "${tag}" ]; then
    73        echo
    74        cat docker.stderr
    75        exit 1
    76    fi
    77    verify_tag "${tag}"
    78  
    79    echo ": ok"
    80  }
    81  
    82  check_aws
    83  check_linux
    84  check_darwin
    85  check_docker