3
3
# fail on unset variables and command errors
4
4
set -eu -o pipefail # -x: is for debugging
5
5
6
- if [ " $( git branch --show-current) " != " master" ]; then
7
- echo " $0 : Current branch is not master" 1>&2
8
- exit 1
6
+ CURRENT_BRANCH=" $( git branch --show-current) "
7
+ if [ " ${CURRENT_BRANCH} " != " master" ]; then
8
+ echo " $0 : Current branch ${CURRENT_BRANCH} is not master, continue? (y/n)"
9
+ read -r res
10
+ if [ " ${res} " = " n" ]; then
11
+ echo " $0 : Stop script"
12
+ exit 0
13
+ fi
14
+ fi
15
+
16
+ PRERELEASE_TYPE_LIST=" prerelease prepatch preminor premajor"
17
+ if [ " ${CURRENT_BRANCH} " != " master" ]; then
18
+ RELEASE_TYPE_LIST=" ${PRERELEASE_TYPE_LIST} "
19
+ else
20
+ RELEASE_TYPE_LIST=" ${PRERELEASE_TYPE_LIST} patch minor major"
9
21
fi
10
22
11
- RELEASE_TYPE_LIST=" prerelease prepatch patch preminor minor major premajor"
12
23
if command -v fzf; then
13
24
RELEASE_TYPE=$( echo " ${RELEASE_TYPE_LIST} " | tr ' ' ' \n' | fzf --layout=reverse)
14
25
else
@@ -26,7 +37,11 @@ if [ "${res}" = "n" ]; then
26
37
fi
27
38
28
39
git fetch origin
29
- git pull origin master
40
+ if [ " ${CURRENT_BRANCH} " != " master" ]; then
41
+ git pull origin " ${CURRENT_BRANCH} "
42
+ else
43
+ git pull origin master
44
+ fi
30
45
git tag -d v3 || true
31
46
git pull origin --tags
32
47
@@ -43,6 +58,11 @@ git rm ./lib/index.js
43
58
rm -rf ./lib
44
59
git commit -m " chore(release): Remove build assets [skip ci]"
45
60
61
+ if [ " ${CURRENT_BRANCH} " != " master" ]; then
62
+ git push origin " ${CURRENT_BRANCH} "
63
+ else
64
+ git push origin master
65
+ fi
66
+
46
67
TAG_NAME=" v$( jq -r ' .version' ./package.json) "
47
- git push origin master
48
68
git push origin " ${TAG_NAME} "
0 commit comments