Skip to content

Commit 56863e2

Browse files
committed
update release helper
1 parent 23d3ded commit 56863e2

File tree

1 file changed

+28
-21
lines changed

1 file changed

+28
-21
lines changed

release-helper.sh

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ set -e
1313

1414
usage () {
1515
grep "^#/" <"$0" | cut -c4-
16-
exit ${1:-2}
16+
exit "${1:-2}"
1717
}
1818

1919
[ $# -eq 0 ] && usage 1
2020

2121
cachet_version=
22+
main_version=2.4
2223

2324
check_releases () {
2425
# Get latest releases
@@ -37,16 +38,16 @@ fi
3738
}
3839

3940
delete_release () {
40-
if [ -z $cachet_version ]; then
41+
if [ -z "$cachet_version" ]; then
4142
echo 1>&2 "error: no version specified."
4243
exit 1
4344
fi
4445
echo "Removing release $cachet_version"
45-
release_id=$(curl -H "Authorization: token $token" -s -X GET https://api.github.com/repos/CachetHQ/Docker/releases/tags/$cachet_version | jq -r .id)
46-
curl -H "Authorization: token $token" -s -X DELETE https://api.github.com/repos/CachetHQ/Docker/releases/$release_id || true
47-
git tag -d $cachet_version || true
48-
git push origin :$cachet_version || true
49-
git branch -d cachet-$cachet_version || true
46+
release_id=$(curl -H "Authorization: token $token" -s -X GET https://api.github.com/repos/CachetHQ/Docker/releases/tags/"$cachet_version" | jq -r .id)
47+
curl -H "Authorization: token $token" -s -X DELETE https://api.github.com/repos/CachetHQ/Docker/releases/"$release_id" || true
48+
git tag -d "$cachet_version" || true
49+
git push origin :"$cachet_version" || true
50+
git branch -d cachet-"$cachet_version" || true
5051
}
5152

5253
# GitHub API Token
@@ -59,14 +60,14 @@ if [ -z "$token" ]
5960
fi
6061

6162
# Parse args.
62-
ARGS=$(getopt --name "$0" --long help,delete,check --options hdc -- "$@") || {
63+
ARGS=$(getopt --name "$0" --long help,delete,check,update: --options hdcu: -- "$@") || {
6364
usage
6465
exit 2
6566
}
66-
eval set -- $ARGS
67+
eval set -- "$ARGS"
6768

6869
while [ $# -gt 0 ]; do
69-
#shift
70+
shift
7071
case "$1" in
7172
-h|--help)
7273
usage
@@ -81,43 +82,49 @@ while [ $# -gt 0 ]; do
8182
check_releases
8283
exit 0
8384
;;
84-
--)
85+
-u|--update)
8586
cachet_version=$2
87+
echo "Updating to Cachet version: $2"
88+
break
89+
exit 0
90+
;;
91+
--)
92+
export cachet_version=$2
8693
shift
8794
break
8895
;;
8996
esac
9097
shift
9198
done
9299

93-
if [ -z $cachet_version ]; then
100+
if [ -z "$cachet_version" ]; then
94101
echo 1>&2 "error: no version specified."
95102
exit 1
96103
fi
97104

98105
#curl -H "Authorization: token $token" -s https://api.github.com/rate_limit
99106

100107
# Make sure we are on clean branch
101-
if [[ !$(git branch --list cachet-$cachet_version) ]]; then
108+
if [[ ! $(git branch --list cachet-"$cachet_version") ]]; then
102109
echo "Creating new branch cachet-$cachet_version"
103-
git checkout -b cachet-$cachet_version
110+
git checkout -b cachet-"$cachet_version"
104111
else
105112
echo "Branch cachet-$cachet_version already exists!"
106-
git checkout cachet-$cachet_version
113+
git checkout cachet-"$cachet_version"
107114
fi
108115

109116
# Generate changelog (requires https://github.com/skywinder/github-changelog-generator)
110117
if hash github_changelog_generator 2>/dev/null; then
111-
github_changelog_generator --token $token --future-release $cachet_version
118+
github_changelog_generator -u CachetHQ --project Docker --token "$token" --future-release "$cachet_version"
112119
fi
113120

114121
# Modify Dockerfile, commit, tag, and push
115122
echo "Creating tag for $cachet_version"
116-
sed s/master/$cachet_version/g -i Dockerfile
123+
gsed s/$main_version/"$cachet_version"/g -i Dockerfile
117124
git commit -am "Cachet $cachet_version release"
118-
git tag -a $cachet_version -m "Cachet Release $cachet_version"
119-
git push origin cachet-$cachet_version
120-
git push origin $cachet_version
125+
git tag -a "$cachet_version" -m "Cachet Release $cachet_version"
126+
git push origin cachet-"$cachet_version"
127+
git push origin "$cachet_version"
121128

122129
# Create GitHub release
123-
curl -H "Authorization: token $token" -s -H "Content-Type: application/json" -d '{"tag_name":"'${cachet_version}'","name":"'${cachet_version}'","body":"Cachet Release '${cachet_version}'","draft":false,"prerelease":false}' -X POST https://api.github.com/repos/CachetHQ/Docker/releases
130+
curl -H "Authorization: token $token" -s -H "Content-Type: application/json" -d '{"tag_name":"'"${cachet_version}"'","name":"'"${cachet_version}"'","body":"Cachet Release '"${cachet_version}"'","draft":false,"prerelease":false}' -X POST https://api.github.com/repos/CachetHQ/Docker/releases

0 commit comments

Comments
 (0)