File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ PUSH_TO_ORIGIN=false
4
+
5
+ while getopts " v:p" argv
6
+ do
7
+ case $argv in
8
+ v)
9
+ RELEASE_VERSION=$OPTARG
10
+ ;;
11
+ p)
12
+ PUSH_TO_ORIGIN=true
13
+ ;;
14
+ esac
15
+ done
16
+
17
+ if [ -z " $RELEASE_VERSION " ]; then
18
+ echo -e " \033[0;31m[ERROR]: Missing release version -v option.\033[0m"
19
+ exit 1
20
+ fi
21
+
22
+ SEMVER_REGEX=" ^(0|[1-9][0-9]*)\\ .(0|[1-9][0-9]*)\\ .(0|[1-9][0-9]*)(\\ -[0-9A-Za-z-]+(\\ .[0-9A-Za-z-]+)*)?(\\ +[0-9A-Za-z-]+(\\ .[0-9A-Za-z-]+)*)?$"
23
+
24
+ if [[ $RELEASE_VERSION =~ $SEMVER_REGEX ]]; then
25
+ echo -e " \033[0;32m[INFO]: Start to release version $RELEASE_VERSION ."
26
+ else
27
+ echo -e " \033[0;31m[ERROR]: Version $RELEASE_VERSION doesn't match the semver scheme $SEMVER_REGEX .\033[0m"
28
+ exit 1
29
+ fi
30
+
31
+ git checkout develop && git pull --rebase
32
+ git checkout master && git pull --rebase
33
+ git merge develop
34
+ npx standard-version --release-as $RELEASE_VERSION
35
+ git checkout develop
36
+ git merge master
37
+
38
+ if $PUSH_TO_ORIGIN ; then
39
+ echo -e " \033[0;32m[INFO]: Push to origin"
40
+ git push origin develop
41
+ git push origin master
42
+ git push --tags
43
+ fi
44
+
45
+ echo -e " \033[0;32m[INFO]: Version $RELEASE_VERSION has been successfully released."
You can’t perform that action at this time.
0 commit comments