You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pup/release.sh

66 lines
1.7 KiB

#!/bin/bash
set -e
VERSION="0.4.0"
rm -rf dist
mkdir dist
for ENV in $( go tool dist list | grep -v 'android' | grep -v 'darwin/arm' | grep -v 's390x' | grep -v 'plan9/arm'); do
eval $( echo $ENV | tr '/' ' ' | xargs printf 'export GOOS=%s; export GOARCH=%s\n' )
GOOS=${GOOS:-linux}
GOARCH=${GOARCH:-amd64}
BIN="pup"
if [ ${GOOS} == "windows" ]; then
BIN="pup.exe"
fi
mkdir -p dist
echo "Building for GOOS=$GOOS GOARCH=$GOARCH"
sudo rkt run \
--set-env=GOOS=${GOOS} \
--set-env=GOARCH=${GOARCH} \
--set-env=CGO_ENABLED=0 \
--volume pup,kind=host,source=${PWD} \
--mount volume=pup,target=/go/src/github.com/ericchiang/pup \
--insecure-options=image \
docker://golang:1.6.3 \
--exec go -- build -v -a \
-o /go/src/github.com/ericchiang/pup/dist/${BIN} \
github.com/ericchiang/pup
sudo rkt gc --grace-period=0s
zip dist/pup_v${VERSION}_${GOOS}_${GOARCH}.zip -j dist/${BIN}
rm -f dist/${BIN}
done
DARWIN_AMD64=pup_v${VERSION}_darwin_amd64.zip
DARWIN_386=pup_v${VERSION}_darwin_386.zip
cat << EOF > pup.rb
# This file was generated by release.sh
require 'formula'
class Pup < Formula
homepage 'https://github.com/ericchiang/pup'
version '0.4.0'
if Hardware.is_64_bit?
url 'https://github.com/ericchiang/pup/releases/download/v${VERSION}/${DARWIN_AMD64}'
sha256 '$( sha256sum dist/${DARWIN_AMD64} | awk '{ print $1 }' | xargs printf )'
else
url 'https://github.com/ericchiang/pup/releases/download/v${VERSION}/${DARWIN_386}'
sha256 '$( sha256sum dist/${DARWIN_386} | awk '{ print $1 }' | xargs printf )'
end
def install
bin.install 'pup'
end
end
EOF