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