Skip to content

Commit 6a14f26

Browse files
committed
update release helper
1 parent 56863e2 commit 6a14f26

File tree

1 file changed

+35
-28
lines changed

1 file changed

+35
-28
lines changed

release-helper.sh

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,34 @@ usage () {
2121
cachet_version=
2222
main_version=2.4
2323

24+
do_release () {
25+
26+
# Make sure we are on clean branch
27+
if [[ ! $(git branch --list cachet-"$cachet_version") ]]; then
28+
echo "Creating new branch cachet-$cachet_version"
29+
git checkout -b cachet-"$cachet_version"
30+
else
31+
echo "Branch cachet-$cachet_version already exists!"
32+
git checkout cachet-"$cachet_version"
33+
fi
34+
35+
# Generate changelog (requires https://github.com/skywinder/github-changelog-generator)
36+
if hash github_changelog_generator 2>/dev/null; then
37+
github_changelog_generator -u CachetHQ --project Docker --token "$token" --future-release "$cachet_version"
38+
fi
39+
40+
# Modify Dockerfile, commit, tag, and push
41+
echo "Creating tag for $cachet_version"
42+
gsed s/$main_version/"$cachet_version"/g -i Dockerfile
43+
git commit -am "Cachet $cachet_version release"
44+
git tag -a "$cachet_version" -m "Cachet Release $cachet_version"
45+
git push origin cachet-"$cachet_version"
46+
git push origin "$cachet_version"
47+
48+
# Create GitHub release
49+
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
50+
}
51+
2452
check_releases () {
2553
# Get latest releases
2654
CACHET_APP_LATEST_REL=$(curl -H "Authorization: token $token" -s https://api.github.com/repos/cachethq/cachet/releases/latest | jq -r .name)
@@ -33,6 +61,10 @@ echo "Latest Docker release: $CACHET_DOCKER_LATEST_REL"
3361
if [ "$CACHET_APP_LATEST_REL" = "$CACHET_DOCKER_LATEST_REL" ]
3462
then
3563
echo "Releases on GitHub are up to date!"
64+
else
65+
echo "Docker at "$CACHET_DOCKER_LATEST_REL" -- Releasing latest app release $CACHET_APP_LATEST_REL"
66+
cachet_version="$CACHET_APP_LATEST_REL"
67+
do_release
3668
fi
3769

3870
}
@@ -85,11 +117,13 @@ while [ $# -gt 0 ]; do
85117
-u|--update)
86118
cachet_version=$2
87119
echo "Updating to Cachet version: $2"
120+
do_release
88121
break
89122
exit 0
90123
;;
91124
--)
92-
export cachet_version=$2
125+
cachet_version=$2
126+
do_release
93127
shift
94128
break
95129
;;
@@ -101,30 +135,3 @@ if [ -z "$cachet_version" ]; then
101135
echo 1>&2 "error: no version specified."
102136
exit 1
103137
fi
104-
105-
#curl -H "Authorization: token $token" -s https://api.github.com/rate_limit
106-
107-
# Make sure we are on clean branch
108-
if [[ ! $(git branch --list cachet-"$cachet_version") ]]; then
109-
echo "Creating new branch cachet-$cachet_version"
110-
git checkout -b cachet-"$cachet_version"
111-
else
112-
echo "Branch cachet-$cachet_version already exists!"
113-
git checkout cachet-"$cachet_version"
114-
fi
115-
116-
# Generate changelog (requires https://github.com/skywinder/github-changelog-generator)
117-
if hash github_changelog_generator 2>/dev/null; then
118-
github_changelog_generator -u CachetHQ --project Docker --token "$token" --future-release "$cachet_version"
119-
fi
120-
121-
# Modify Dockerfile, commit, tag, and push
122-
echo "Creating tag for $cachet_version"
123-
gsed s/$main_version/"$cachet_version"/g -i Dockerfile
124-
git commit -am "Cachet $cachet_version release"
125-
git tag -a "$cachet_version" -m "Cachet Release $cachet_version"
126-
git push origin cachet-"$cachet_version"
127-
git push origin "$cachet_version"
128-
129-
# Create GitHub release
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)