This commit is contained in:
2022-09-25 15:38:34 +02:00
parent 09396f8c98
commit f7db85cc13
3 changed files with 103 additions and 2 deletions
+41 -2
View File
@@ -24,7 +24,12 @@ usage() {
echo " -p: Publish (requires a version)" 1>&2;
echo " -X: Staging Deploy (requires a version)" 1>&2;
echo " -x: Production Deploy (requires a version)" 1>&2;
echo " -t: Software version, this will be used for the docker tag (default: local)" 1>&2;
echo " Tagging, docker images (default: local)" 1>&2;
echo " -t: Manual tag" 1>&2;
echo " -T: Autotag patch/release" 1>&2;
echo " -m: Autotag minor" 1>&2;
echo " -M: Autotag major" 1>&2;
echo " -P: Pre-release" 1>&2;
echo " -v: Verbose" 1>&2;
exit 1;
}
@@ -35,10 +40,13 @@ PUBLISH_MODE=0
DEPLOY_TEST_MODE=0
DEPLOY_PROD_MODE=0
SELECTED_MODES=0
TAG_IMPLICIT=1
TAG="local"
TAG_OPTS=""
AUTOTAG=0
while getopts "t:hvudpxX" o; do
while getopts "t:TmMPhvudpxX" o; do
case "${o}" in
u)
UNIT_MODE=1
@@ -63,6 +71,27 @@ while getopts "t:hvudpxX" o; do
t)
TAG=${OPTARG}
TAG_IMPLICIT=0
;;
T)
TAG_OPTS="${TAG_OPTS}r"
TAG_IMPLICIT=0
AUTOTAG=1
;;
m)
TAG_OPTS="${TAG_OPTS}m"
TAG_IMPLICIT=0
AUTOTAG=1
;;
M)
TAG_OPTS="${TAG_OPTS}M"
TAG_IMPLICIT=0
AUTOTAG=1
;;
P)
TAG_OPTS="${TAG_OPTS}p"
TAG_IMPLICIT=0
AUTOTAG=1
;;
v)
VERBOSE=1
@@ -87,6 +116,11 @@ if [[ $SELECTED_MODES -ne 1 ]]; then
usage
fi
if [[ $AUTOTAG -eq 1 ]]; then
TAG=`./next-ver.sh -${TAG_OPTS}`
echo "Using tag $TAG"
fi
./aws-login.sh
if [[ $UNIT_MODE -eq 1 ]]; then
@@ -115,6 +149,11 @@ if [[ $PUBLISH_MODE -eq 1 ]]; then
./run-unit.sh $VERBOPT -t $TAG
./publish.sh $VERBOPT -t $TAG
if [[ $TAG_IMPLICIT -ne 1 ]]; then
git tag $TAG
git push --tags
fi
fi
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
git tag -l --sort=-version:refname | head -n 1
+59
View File
@@ -0,0 +1,59 @@
#!/bin/bash
usage() {
echo "Usage: $0 [-h] [-m|M] [-p]" 1>&2;
echo " -h: This message" 1>&2;
echo " -p: Pre release" 1>&2;
echo " -m: Increment minor" 1>&2;
echo " -M: Increment major" 1>&2;
}
PRE_RELEASE=0
ALTERS=0
ALTER_NAME="release"
while getopts "hpmMr" o; do
case "${o}" in
p)
PRE_RELEASE=1
;;
r)
ALTERS=$ALTERS+1
ALTER_NAME="release"
;;
m)
ALTERS=$ALTERS+1
ALTER_NAME="minor"
;;
M)
ALTERS=$ALTERS+1
ALTER_NAME="major"
;;
h)
usage
exit 0;
;;
*)
printerr "Unsupported option ${o}"
usage
exit 1;
;;
esac
done
if [[ $ALTERS -gt 1 ]]; then
echo "You can specify exactly one option between m and M"
usage
exit 1;
fi
CURRENT_VERSION=`./latest-ver.sh`
INCREMENT_NAME=$ALTER_NAME
if [[ $PRE_RELEASE -gt 0 ]]; then
INCREMENT_NAME="pre$INCREMENT_NAME"
fi
NEW_VERSION=`semver $CURRENT_VERSION --preid rc -i $INCREMENT_NAME`
echo "$NEW_VERSION"