github.com/abhinav/git-pr@v0.6.1-0.20171029234004-54218d68c11b/scripts/release.sh (about) 1 #!/bin/bash -e 2 3 if [[ -z "$GITHUB_TOKEN" ]]; then 4 echo "GITHUB_TOKEN is not set" 5 exit 1 6 fi 7 8 VERSION="$1" 9 if [[ -z "$VERSION" ]]; then 10 echo "USAGE: $0 VERSION" 11 exit 1 12 fi 13 14 CMDS=(git-pr) 15 OSes=(darwin linux) 16 ARCHes=(amd64) 17 18 build() { 19 os="$1" 20 arch="$2" 21 releasedir="releases/${os}_${arch}" 22 tarname="git-pr.$VERSION.$os.$arch.tar" 23 24 mkdir -p "$releasedir" 25 for cmd in "${CMDS[@]}"; do 26 GOOS="$os" GOARCH="$arch" go build -o "$releasedir/$cmd" "./cmd/$cmd" 27 done 28 29 tar -cf "releases/$tarname" -C "$releasedir" . 30 gzip "releases/$tarname" 31 rm -r "$releasedir" 32 } 33 34 CHANGELOG=$(go run scripts/extract_changelog.go "$VERSION") 35 36 echo "Releasing $VERSION" 37 echo "" 38 echo "CHANGELOG:" 39 echo "$CHANGELOG" 40 echo "" 41 42 for os in "${OSes[@]}"; do 43 for arch in "${ARCHes[@]}"; do 44 echo "Building for $os $arch" 45 build "$os" "$arch" 46 done 47 done 48 49 ghr \ 50 -username "$GITHUB_USER" \ 51 -token "$GITHUB_TOKEN" \ 52 -body "$CHANGELOG" \ 53 "$VERSION" releases/