dist.sh (nsq-1.2.0) | : | dist.sh (nsq-1.2.1) | ||
---|---|---|---|---|
skipping to change at line 22 | skipping to change at line 22 | |||
# 10. update IRC channel topic | # 10. update IRC channel topic | |||
# 11. tweet | # 11. tweet | |||
set -e | set -e | |||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | |||
rm -rf $DIR/dist/docker | rm -rf $DIR/dist/docker | |||
mkdir -p $DIR/dist/docker | mkdir -p $DIR/dist/docker | |||
GOFLAGS='-ldflags="-s -w"' | GOFLAGS='-ldflags="-s -w"' | |||
arch=$(go env GOARCH) | ||||
version=$(awk '/const Binary/ {print $NF}' < $DIR/internal/version/binary.go | s ed 's/"//g') | version=$(awk '/const Binary/ {print $NF}' < $DIR/internal/version/binary.go | s ed 's/"//g') | |||
goversion=$(go version | awk '{print $3}') | goversion=$(go version | awk '{print $3}') | |||
echo "... running tests" | echo "... running tests" | |||
./test.sh | ./test.sh | |||
for os in linux darwin freebsd windows; do | export GO111MODULE=on | |||
for target in "linux/amd64" "linux/arm64" "darwin/amd64" "darwin/arm64" "freebsd | ||||
/amd64" "windows/amd64"; do | ||||
os=${target%/*} | ||||
arch=${target##*/} | ||||
echo "... building v$version for $os/$arch" | echo "... building v$version for $os/$arch" | |||
BUILD=$(mktemp -d ${TMPDIR:-/tmp}/nsq-XXXXX) | BUILD=$(mktemp -d ${TMPDIR:-/tmp}/nsq-XXXXX) | |||
TARGET="nsq-$version.$os-$arch.$goversion" | TARGET="nsq-$version.$os-$arch.$goversion" | |||
GO111MODULE=on GOOS=$os GOARCH=$arch CGO_ENABLED=0 \ | GOOS=$os GOARCH=$arch CGO_ENABLED=0 \ | |||
make DESTDIR=$BUILD PREFIX=/$TARGET BLDFLAGS="$GOFLAGS" install | make DESTDIR=$BUILD PREFIX=/$TARGET BLDFLAGS="$GOFLAGS" install | |||
pushd $BUILD | pushd $BUILD | |||
sudo chown -R 0:0 $TARGET | sudo chown -R 0:0 $TARGET | |||
tar czvf $TARGET.tar.gz $TARGET | tar czvf $TARGET.tar.gz $TARGET | |||
mv $TARGET.tar.gz $DIR/dist | mv $TARGET.tar.gz $DIR/dist | |||
popd | popd | |||
make clean | make clean | |||
sudo rm -r $BUILD | sudo rm -r $BUILD | |||
done | done | |||
docker build -t nsqio/nsq:v$version . | rnd=$(LC_ALL=C tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c10) | |||
docker buildx create --use --name nsq-$rnd | ||||
docker buildx build --tag nsqio/nsq:v$version . --platform linux/amd64,linux/arm | ||||
64 --push | ||||
if [[ ! $version == *"-"* ]]; then | if [[ ! $version == *"-"* ]]; then | |||
echo "Tagging nsqio/nsq:v$version as the latest release." | echo "Tagging nsqio/nsq:v$version as the latest release." | |||
docker tag nsqio/nsq:v$version nsqio/nsq:latest | docker buildx build --tag nsqio/nsq:latest . --platform linux/amd64,linux/ar m64 --push | |||
fi | fi | |||
docker buildx rm nsq-$rnd | ||||
End of changes. 6 change blocks. | ||||
5 lines changed or deleted | 11 lines changed or added |