updated snapshot version, improved end of sprint script

This commit is contained in:
Tim Chamberlain
2023-01-13 15:59:01 -06:00
parent e831c75e1e
commit 69a6104393
3 changed files with 29 additions and 10 deletions

View File

@ -1 +1 @@
<revision>0.11.0</revision> 0.11.0

View File

@ -2,7 +2,6 @@
############################################################################ ############################################################################
## Script to run the release process on qqq at the end of a sprint. ## Script to run the release process on qqq at the end of a sprint.
## It's a good idea to run it from a fresh clone, but that's not strictly needed.
## Uses gum for CLI UI. ## Uses gum for CLI UI.
############################################################################ ############################################################################
@ -24,9 +23,22 @@ function gumConfirmProceed
fi fi
} }
QQQ_RELEASE_DIR=/tmp/qqq-release
QQQ_DEV_TOOLS_DIR=${}QQQ_RELEASE_DIR}/qqq/qqq-dev-tools
mkdir -p $QQQ_RELEASE_DIR/qqq
cd $QQQ_RELEASE_DIR/qqq || exit
gumBanner "Making sure you have a clean git checkout" gumBanner "Making sure you have a clean git checkout"
git status git status 2>&1 > /dev/null 2>&1
gumConfirmProceed "Can we Proceed, or do you need to clean up your checkout (git stash -u)?" "Proceed" "I need to clean up my checkout" if [ "$?" != "0" ]; then
gumConfirmProceed "No git checkout found, create a clean checkout at [$QQQ_RELEASE_DIR]?" "Proceed" "No, please quit"
cd $QQQ_RELEASE_DIR || exit
git clone git@github.com:Kingsrook/qqq.git
git clone git@github.com:Kingsrook/qqq-frontend-material-dashboard.git
git clone git@github.com:Kingsrook/qqq-frontend-core.git
else
gumConfirmProceed "Existing git checkouts found at [$QQQ_RELEASE_DIR], continue?" "Yes, use those" "I need to go delete it and start over"
fi
gumBanner "Checking for open PR's..." gumBanner "Checking for open PR's..."
gh pr list gh pr list
@ -38,17 +50,16 @@ git checkout main && git pull && git checkout dev && git pull
if [ ! -e "qqq-sample-project/.env" ]; then if [ ! -e "qqq-sample-project/.env" ]; then
dir=$(realpath .) dir=$(realpath .)
gumBanner "Installing .env file -- for qqq" "Tell it your qqq is at:" "$dir" gumBanner "Installing .env file -- for qqq" "Tell it your qqq is at:" "$dir"
setup-environments.sh --qqq --quiet setup-environments.sh --qqq --quiet --is-for-release
fi fi
################################### ###################################
## go back to root qqq directory ## ## go back to root qqq directory ##
################################### ###################################
cd ~/git/kingsrook/qqq/ cd $QQQ_RELEASE_DIR/qqq || exit
MVN_VERIFY_LOG=/tmp/mvn-verify.log MVN_VERIFY_LOG=/tmp/mvn-verify.log
gumBanner "Doing clean build (logging to $MVN_VERIFY_LOG)" gumBanner "Doing clean build (logging to $MVN_VERIFY_LOG)"
cp ~/git/kingsrook/qqq/qqq-sample-project/.env qqq-sample-project
mvn clean verify > $MVN_VERIFY_LOG 2>&1 mvn clean verify > $MVN_VERIFY_LOG 2>&1
tail -30 $MVN_VERIFY_LOG tail -30 $MVN_VERIFY_LOG
gumConfirmProceed "Can we Proceed, or are there build errors to fix?" "Proceed" "There are build errors to fix" gumConfirmProceed "Can we Proceed, or are there build errors to fix?" "Proceed" "There are build errors to fix"
@ -69,7 +80,7 @@ mvn gitflow:release-finish
gumBanner "Updating qqq-dev-tools/CURRENT-SNAPSHOT-VERSION" gumBanner "Updating qqq-dev-tools/CURRENT-SNAPSHOT-VERSION"
CURRENT_SNAPSHOT_VERSION=$(grep '<revision>' pom.xml | sed 's/<.\?revision>//g;s/-SNAPSHOT//;s/ //g;') CURRENT_SNAPSHOT_VERSION=$(grep '<revision>' pom.xml | sed 's/<.\?revision>//g;s/-SNAPSHOT//;s/ //g;')
echo $CURRENT_SNAPSHOT_VERSION > $QQQ_DEV_TOOLS_DIR/CURRENT-SNAPSHOT-VERSION echo $CURRENT_SNAPSHOT_VERSION > $QQQ_DEV_TOOLS_DIR/CURRENT-SNAPSHOT-VERSION
cd $QQQ_DEV_TOOLS_DIR cd $QQQ_DEV_TOOLS_DIR || exit
git commit -m "Updating to $CURRENT_SNAPSHOT_VERSION" CURRENT-SNAPSHOT-VERSION git commit -m "Updating to $CURRENT_SNAPSHOT_VERSION" CURRENT-SNAPSHOT-VERSION
git push git push

View File

@ -9,7 +9,7 @@
function usage() function usage()
{ {
echo "Usage: $0 [--nf-one|--qqq] [-q|--quiet]" echo "Usage: $0 [--nf-one|--qqq] [-q|--quiet] [-r|--is-for-release]"
echo "By default, all environments are set up. Give an option to just do nf-one or qqq." echo "By default, all environments are set up. Give an option to just do nf-one or qqq."
exit 1; exit 1;
} }
@ -17,6 +17,7 @@ function usage()
DO_NF_ONE=0 DO_NF_ONE=0
DO_QQQ=0 DO_QQQ=0
QUIET=0 QUIET=0
IS_FOR_RELEASE=0
if [ -z "$1" ]; then if [ -z "$1" ]; then
DO_NF_ONE=1 DO_NF_ONE=1
@ -29,6 +30,8 @@ else
DO_QQQ=1 DO_QQQ=1
elif [ "$arg" == "-q" -o "$arg" == "--quiet" ]; then elif [ "$arg" == "-q" -o "$arg" == "--quiet" ]; then
QUIET=1 QUIET=1
elif [ "$arg" == "-r" -o "$arg" == "--is-for-release" ]; then
IS_FOR_RELEASE=1
else else
usage usage
fi fi
@ -144,10 +147,15 @@ function setupRepoEnvironment
repoName=$1 repoName=$1
isNutrifreshOneRepo=$2 isNutrifreshOneRepo=$2
repoSearchRoot=${HOME}/git
if [ "$IS_FOR_RELEASE" == "1" ]; then
repoSearchRoot="/tmp/qqq-release"
fi
############################################################# #############################################################
## try to automatically find the proper git repo directory ## ## try to automatically find the proper git repo directory ##
############################################################# #############################################################
repoLocation=$(find ${HOME}/git -maxdepth 5 -type d -path "*${repoName}/.git" | sed 's/\/\.git//') repoLocation=$(find ${repoSearchRoot} -maxdepth 5 -type d -path "*${repoName}/.git" | sed 's/\/\.git//')
if [ "$repoLocation" != "" ]; then if [ "$repoLocation" != "" ]; then