github.com/splunk/dan1-qbec@v0.7.3/prepare-release.sh (about) 1 #!/bin/bash 2 3 set -euo pipefail 4 5 version_num=$(grep ^VERSION Makefile | awk -F= '{print $2}' | sed 's/ //') 6 7 if [[ -z "${version_num}" ]] 8 then 9 echo "unable to derive version, abort" >&2 10 exit 1 11 fi 12 13 version="v${version_num}" 14 echo "publish version ${version}" 15 16 if [[ ! -z "$(git tag -l ${version})" ]] 17 then 18 echo "tag ${version} already exists, abort" >&2 19 exit 1 20 fi 21 22 rm -rf dist/ 23 mkdir -p dist/assets 24 25 make clean get 26 27 if [[ ! -z "$(git status --porcelain)" ]] 28 then 29 echo "unclean work dir, abort" >&2 30 exit 1 31 fi 32 33 34 for env in darwin-amd64 linux-amd64 windows-amd64 35 do 36 echo === 37 echo build ${env} 38 echo === 39 export GOOS=$(echo ${env} | awk -F- '{print $1}') 40 export GOARCH=$(echo ${env} | awk -F- '{print $2}') 41 export CGO_ENABLED=0 42 make os_archive 43 done 44 45 (cd dist/assets && shasum -a 256 *> sha256-checksums.txt) 46 47 git tag -s -m "${version} release" ${version} 48