open-vault/scripts/dist.sh
Jeff Mitchell ec12124c6b Revert "Migrate build to use go modules"
This reverts commit 3439a34989b082ebc3d711853fdc2372798ff121.

For the moment with bad wifi this is just taking too, too long. We may
be able to figure out an approach that bind mounts the cache in which
should help drastically.
2019-07-09 04:15:03 -04:00

77 lines
2.1 KiB
Bash
Executable file

#!/usr/bin/env bash
set -e
# Get the version from the command line
VERSION=$1
if [ -z $VERSION ]; then
echo "Please specify a version."
exit 1
fi
# Make sure we have AWS API keys
if ([ -z $AWS_ACCESS_KEY_ID ] || [ -z $AWS_SECRET_ACCESS_KEY ]) && [ ! -z $HC_RELEASE ]; then
echo "Please set your AWS access key information in the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY env vars."
exit 1
fi
if [ -z $NOBUILD ] && [ -z $DOCKER_CROSS_IMAGE ]; then
echo "Please set the Docker cross-compile image in DOCKER_CROSS_IMAGE"
exit 1
fi
# Get the parent directory of where this script is.
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
DIR="$( cd -P "$( dirname "$SOURCE" )/.." && pwd )"
# Change into that dir because we expect that
cd $DIR
if [ -z $RELBRANCH ]; then
RELBRANCH=master
fi
# Tag, unless told not to
if [ -z $NOTAG ]; then
echo "==> Tagging..."
git commit --allow-empty --gpg-sign=348FFC4C -m "Cut version $VERSION"
git tag -a -m "Version $VERSION" -s -u 348FFC4C "v${VERSION}" $RELBRANCH
fi
# Build the packages
if [ -z $NOBUILD ]; then
# This should be a local build of the Dockerfile in the cross dir
docker run --rm -v "$(pwd)":/gopath/src/github.com/hashicorp/vault -w /gopath/src/github.com/hashicorp/vault ${DOCKER_CROSS_IMAGE}
fi
# Zip all the files
rm -rf ./pkg/dist
mkdir -p ./pkg/dist
for FILENAME in $(find ./pkg -mindepth 1 -maxdepth 1 -type f); do
FILENAME=$(basename $FILENAME)
cp ./pkg/${FILENAME} ./pkg/dist/vault_${VERSION}_${FILENAME}
done
if [ -z $NOSIGN ]; then
echo "==> Signing..."
pushd ./pkg/dist
rm -f ./vault_${VERSION}_SHA256SUMS*
shasum -a256 * > ./vault_${VERSION}_SHA256SUMS
gpg --default-key 348FFC4C --detach-sig ./vault_${VERSION}_SHA256SUMS
popd
fi
# Upload
if [ ! -z $HC_RELEASE ]; then
hc-releases upload $DIR/pkg/dist
hc-releases publish
curl -X PURGE https://releases.hashicorp.com/vault/${VERSION}
for FILENAME in $(find $DIR/pkg/dist -type f); do
FILENAME=$(basename $FILENAME)
curl -X PURGE https://releases.hashicorp.com/vault/${VERSION}/${FILENAME}
done
fi
exit 0