/
uaa-release.sh
executable file
·68 lines (53 loc) · 1.64 KB
/
uaa-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
66
67
68
#!/bin/bash -e
cd `dirname $0`/..
if [ "$#" -lt 2 ]; then
echo "Usage: $(basename $0) uaa_release_version uaa_next_dev_version [branch_to_release_from/develop] [branch_to_push_to/master]"
exit 1
fi
branch_to_release_from=develop
branch_to_push_to=master
if [ "$#" -ge 3 ]; then
branch_to_release_from=$3
fi
if [ "$#" -ge 4 ]; then
branch_to_push_to=$4
fi
if [[ -n $(git status -s --ignored) ]]; then
echo "ERROR: Release must be performed from a fresh clone of the repository."
exit 1
fi
echo Creating UAA release $1
set -x
git checkout $branch_to_release_from
git checkout -b releases/$1
./scripts/set-version.sh $1
git commit -am "Bump release version to $1"
git push --set-upstream origin releases/$1
set +x
echo Created UAA release branch releases/$1
set -x
set +e
git show-ref --verify --quiet "refs/heads/$branch_to_push_to"
if [ $? -eq 0 ]; then
set -e
git checkout $branch_to_push_to
else
set -e
git checkout -b $branch_to_push_to
fi
git merge releases/$1 --no-ff -m "Merge branch 'releases/$1'"
git tag -a $1 -m "$1 release of the UAA"
git push origin $branch_to_push_to --tags
git co $branch_to_release_from
git merge releases/$1 --no-ff -m "Merge branch 'releases/$1' into $branch_to_release_from"
git branch -d releases/$1
./scripts/set-version.sh $2
git commit -am "Bump next $branch_to_release_from version"
git --no-pager diff origin/$branch_to_release_from
git push origin $branch_to_release_from
set +x
echo releases/$1 has been merged into $branch_to_push_to, tagged and pushed
echo
echo releases/$1 has been merged into $branch_to_release_from
echo
echo UAA version bumped to $2 on $branch_to_release_from