#!/bin/bash set -e if [[ -z "$VERSION" ]]; then echo '$VERSION unset' exit 1 fi dir=$(mktemp -d --tmpdir restic-release-XXXXXX) echo "path is ${dir}" for R in \ darwin/386 \ darwin/amd64 \ freebsd/386 \ freebsd/amd64 \ freebsd/arm \ linux/386 \ linux/amd64 \ linux/arm \ linux/arm64 \ openbsd/386 \ openbsd/amd64 \ windows/386 \ windows/amd64 \ ; do \ OS=$(dirname $R) ARCH=$(basename $R) filename=restic_${VERSION}_${OS}_${ARCH} if [[ "$OS" == "windows" ]]; then filename="${filename}.exe" fi echo $filename go run build.go --goos $OS --goarch $ARCH --output ${filename} if [[ "$OS" == "windows" ]]; then zip ${filename%.exe}.zip ${filename} rm ${filename} mv ${filename%.exe}.zip ${dir} else bzip2 ${filename} mv ${filename}.bz2 ${dir} fi done echo "packing sources" git archive --format=tar --prefix=restic-$VERSION/ v$VERSION | gzip -n > restic-$VERSION.tar.gz mv restic-$VERSION.tar.gz ${dir} echo "creating checksums" pushd ${dir} sha256sum restic_*.{zip,bz2} restic-$VERSION.tar.gz > SHA256SUMS gpg --armor --detach-sign SHA256SUMS popd echo "creating source signature file" gpg --armor --detach-sign ${dir}/restic-$VERSION.tar.gz echo echo "done, path is ${dir}"