@@ -13,12 +13,13 @@ set -e
1313
1414usage () {
1515 grep " ^#/" < " $0 " | cut -c4-
16- exit ${1:- 2}
16+ exit " ${1:- 2} "
1717}
1818
1919[ $# -eq 0 ] && usage 1
2020
2121cachet_version=
22+ main_version=2.4
2223
2324check_releases () {
2425# Get latest releases
3738}
3839
3940delete_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" ]
5960fi
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
6869while [ $# -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
9198done
9299
93- if [ -z $cachet_version ]; then
100+ if [ -z " $cachet_version " ]; then
94101 echo 1>&2 " error: no version specified."
95102 exit 1
96103fi
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 "
104111else
105112 echo " Branch cachet-$cachet_version already exists!"
106- git checkout cachet-$cachet_version
113+ git checkout cachet-" $cachet_version "
107114fi
108115
109116# Generate changelog (requires https://github.com/skywinder/github-changelog-generator)
110117if 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 "
112119fi
113120
114121# Modify Dockerfile, commit, tag, and push
115122echo " Creating tag for $cachet_version "
116- sed s/master/ $cachet_version /g -i Dockerfile
123+ gsed s/$main_version / " $cachet_version " /g -i Dockerfile
117124git 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