storj/scripts/draft-release.sh

33 lines
1.0 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# usage: $0 vMAJOR.MINOR.PATCH[-rc[-*]] PATH/TO/BINARIES
set -euo pipefail
apps="identity uplink storagenode multinode"
TAG="${1-}"
if ! [[ "$TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-rc+(-.*)?)?$ ]]; then
echo "No tag detected, skipping release drafting"
exit 0
fi
FOLDER="${2-}"
echo "Drafting release"
current_release_version=$(echo "$TAG" | cut -d '.' -f 1-2)
previous_release_version=$(git describe --tags $(git rev-list --exclude='*rc*' --exclude=$current_release_version* --tags --max-count=1))
changelog=$(python3 scripts/changelog.py "$previous_release_version" "$TAG" 2>&1)
github-release release --user storj --repo storj --tag "$TAG" --description "$changelog" --draft
echo "Sleep 10 seconds in order to wait for release propagation"
sleep 10
echo "Uploading binaries to release draft"
for app in $apps; do
for file in "$FOLDER/$app"*.zip; do
github-release upload --user storj --repo storj --tag "$TAG" --name $(basename "$file") --file "$file"
done
done
echo "Drafting release done"