@@ -13,67 +13,73 @@ set -euo pipefail
1313old_release=${1:- $(git-current-tag.sh)}
1414new_release=${2:- $(increment-version.sh " $old_release " )}
1515
16- echo " --0.1 The old release is $old_release "
17- echo " --0.2 The new release is $new_release "
16+ # Check for numeric value of new release version
17+ # Permits optional leading 'v' character
18+ [[ ${new_release# v} =~ ^[0-9] ]] || {
19+ echo " ERROR: release is not numeric: '${new_release# v} '"
20+ exit 1
21+ }
22+
23+ echo " -- 0.1 The old release is $old_release "
24+ echo " -- 0.2 The new release is $new_release "
1825
1926merged=false
2027
2128mkdir -p /tmp/workspace
2229
23- echo " --1.0 Before the first if"
30+ echo " -- 1.0 Before the first if"
2431if release-start.sh " $new_release "
2532then
26- echo " --1.1 New release branch created: release/$new_release "
33+ echo " -- 1.1 New release branch created: release/$new_release "
2734 merged=true
2835else
29- echo " --1.1 Release branch release/$new_release already exists"
36+ echo " -- 1.1 Release branch release/$new_release already exists"
3037 # Release branch already exists
3138 git checkout " release/$new_release "
3239
3340 # If there are any changes from develop
3441 # Merge changes from develop to release
3542 git merge -Xtheirs --no-edit --log -m " :robot: release/$new_release Merge develop" develop | tee /tmp/workspace/merge.log
36-
43+
3744 grep -q " Already up-to-date." /tmp/workspace/merge.log || {
38- echo " --1.2 We merged changes from develop into release/$new_release "
45+ echo " -- 1.2 We merged changes from develop into release/$new_release "
3946 merged=true;
4047 }
4148fi
4249
4350# Perform NRO develop to release manipulations
4451echo
45- echo " ---2. Performing automated release modifications ..."
52+ echo " -- 2.0 Performing automated release modifications ..."
4653pin-composer-versions.sh
4754
4855# If there are any local changes
4956if ! git diff --exit-code
5057then
51- echo " --- 2.1 Staging modifications"
58+ echo " -- 2.1 Staging modifications"
5259 # Stage changes
5360 git add .
5461
5562 if [[ " $merged " = " true" ]]
5663 then
57- echo " --- 2.1.1 Since we've merged changes from develop, let's amend that commit"
58- git commit --amend --no-edit --allow-empty
64+ echo " -- 2.1.1 Since we've merged changes from develop, let's amend that commit"
65+ git commit --amend --no-edit
5966 else
60- echo " --- 2.1.2 Create new commit with automated modifications"
61- git commit -m " :robot: release/$new_release Automated modifications "
67+ echo " -- 2.1.2 Create new commit with automated modifications"
68+ git commit -m " :robot: release/$new_release Automated modifications"
6269 merged=true
6370 fi
6471fi
6572
66- echo " --3.0 Before the final if"
6773if [[ " $merged " = " false" ]]
6874then
6975 # No local changes
7076 repo=$( git remote get-url origin | cut -d' /' -f 2 | cut -d' .' -f1)
71- echo " --- 3.1 No changes to merge. Triggering $repo @release/$new_release via API"
77+ echo " -- 3.1 No changes to merge. Triggering $repo @release/$new_release via API"
7278 trigger-build-api.sh " $repo " " release/$new_release "
7379else
74- echo " --- 3.2 Local changes have been merged, pushing changes to remote"
80+ echo " -- 3.2 Local changes have been merged, pushing changes to remote"
7581
76- echo " --- 3.2.1 Remove all the build trigger notifications from the latest commit message"
82+ echo " -- 3.2.1 Remove all the build trigger notifications from the latest commit message"
7783 # Remove all the build trigger notifications from the latest commit message
7884 message=$( git show --format=%B | grep -v " :robot: Build trigger" )
7985 git commit --amend -m " $message "
8389 git push -u origin " release/$new_release "
8490
8591 echo " ---3.2.3 Check if old release branch still exists"
86- gitlsremote=$( git ls-remote)
92+ gitlsremote=$( git ls-remote | grep release | grep -v " release/ $new_release " )
8793 if [[ $gitlsremote =~ release/$old_release ]]
8894 then
8995 # Delete the old release branch
0 commit comments