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