/
make_release.sh
executable file
·65 lines (57 loc) · 2.18 KB
/
make_release.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p nix coreutils gnugrep gnused
set -euo pipefail
# A handy utility for filling in the github RELEASE_TEMPLATE.
# Since we are using nix, this script shoud work whether on linux or mac.
#
# NOTE: This script will target the LATEST wiki version. Make sure the
# wiki hasn't changed undesirably since the release tag.
#
# Usage:
# cd cardano-wallet # (only works from here!)
# export GITHUB_API_TOKEN="..."
# ./scripts/make_release.sh
#
################################################################################
# Release-specific parameters (Change when you bump the version)
OLD_GIT_TAG="v2020-07-28"
OLD_CABAL_VERSION="2020.7.28"
GIT_TAG="v2020-08-03"
CABAL_VERSION="2020.8.3"
JORM_TAG="v0.9.0"
CARDANO_NODE_TAG="1.18.0"
################################################################################
OLD_DATE="${OLD_GIT_TAG//v}"
CHANGELOG=GENERATED_CHANGELOG.md
OUT=GENERATED_RELEASE_NOTES-$GIT_TAG.md
REPO="input-output-hk/cardano-wallet"
WIKI_COMMIT=$(git ls-remote https://github.com/$REPO.wiki.git HEAD | cut -f1)
echo ""
echo "Replacing $OLD_CABAL_VERSION with $CABAL_VERSION"
sed -i "s/$OLD_CABAL_VERSION/$CABAL_VERSION/" \
$(git ls-files '*.nix'; git ls-files '*.cabal')
echo "Looking for remaining references to old version:"
git grep $OLD_CABAL_VERSION
echo ""
echo "Generating changelog..."
./scripts/make_changelog $OLD_DATE > $CHANGELOG
echo ""
echo "Filling in template..."
sed -e "s/{{GIT_TAG}}/$GIT_TAG/g" \
-e "s/{{JORM_TAG}}/$JORM_TAG/g" \
-e "s/{{CARDANO_NODE_TAG}}/$CARDANO_NODE_TAG/g" \
-e "s/{{CABAL_VERSION}}/$CABAL_VERSION/g" \
-e "s/{{DOCKER_WIKI_COMMIT}}/$WIKI_COMMIT/g" \
-e "s/{{JORM_CLI_WIKI_COMMIT}}/$WIKI_COMMIT/g" \
-e "s/{{BYRON_CLI_WIKI_COMMIT}}/$WIKI_COMMIT/g" \
-e "/{{CHANGELOG}}/r $CHANGELOG" \
-e "/{{CHANGELOG}}/d" \
.github/RELEASE_TEMPLATE.md > $OUT
read -p "Do you want to create a commit and release-tag? (y/n) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
msg="Bump version from $OLD_CABAL_VERSION to $CABAL_VERSION"
git diff --quiet || git commit -am "$msg"
git tag -s -m $GIT_TAG $GIT_TAG
fi