GEODE-7911: fix release script issues encountered in 1.12.0 release (#4850)

* GEODE-7911: fix release script issues

* GEODE-7911: install ssh and enable passwordless ssh to localhost as required for benchmarks tests

* GEODE-7911: if a release script encounters an error, make this very clear and suggest the proper way to recover

* GEODE-7911: do not produce stray geode-assembly/build/distributions/geode-assembly*.zip

(cherry picked from commit b1f84ea3cbf51d6977eaa1e22e5971339cc1a8e3)
diff --git a/dev-tools/release/commit_rc.sh b/dev-tools/release/commit_rc.sh
index 7bde463..9586cd9 100755
--- a/dev-tools/release/commit_rc.sh
+++ b/dev-tools/release/commit_rc.sh
@@ -69,6 +69,14 @@
 fi
 
 
+function failMsg {
+  errln=$1
+  echo "ERROR: script did NOT complete successfully"
+  echo "Comment out any steps that already succeeded (approximately lines 80-$(( errln - 1 ))) and try again"
+}
+trap 'failMsg $LINENO' ERR
+
+
 echo ""
 echo "============================================================"
 echo "Publishing artifacts to apache release location..."
@@ -102,7 +110,7 @@
 echo "Pushing tags..."
 echo "============================================================"
 
-for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS }; do
+for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS} ; do
     set -x
     cd ${DIR}
     git push origin rel/v${FULL_VERSION}
diff --git a/dev-tools/release/deploy_rc_pipeline.sh b/dev-tools/release/deploy_rc_pipeline.sh
index 254d3ed..daf9b62 100755
--- a/dev-tools/release/deploy_rc_pipeline.sh
+++ b/dev-tools/release/deploy_rc_pipeline.sh
@@ -376,6 +376,13 @@
               tar xzf src.tgz
               cd apache-geode-benchmarks-${VERSION}-src
               java -version
+              mkdir -p ~/.ssh
+              ssh-keygen -m PEM -b 2048 -t rsa -f ~/.ssh/id_rsa -q -N ""
+              cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
+              apt-get update
+              apt-get install openssh-server --no-install-recommends -y
+              echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config
+              service ssh start
               ./gradlew build test
   - name: verify-keys
     serial: true
diff --git a/dev-tools/release/finalize_release.sh b/dev-tools/release/finalize_release.sh
index 018a0d0..564c8ac 100755
--- a/dev-tools/release/finalize_release.sh
+++ b/dev-tools/release/finalize_release.sh
@@ -69,6 +69,14 @@
 fi
 
 
+function failMsg {
+  errln=$1
+  echo "ERROR: script did NOT complete successfully"
+  echo "Comment out any steps that already succeeded (approximately lines 80-$(( errln - 1 ))) and try again"
+}
+trap 'failMsg $LINENO' ERR
+
+
 echo ""
 echo "============================================================"
 echo "Destroying pipelines"
diff --git a/dev-tools/release/prepare_rc.sh b/dev-tools/release/prepare_rc.sh
index b127588..c3012d9 100755
--- a/dev-tools/release/prepare_rc.sh
+++ b/dev-tools/release/prepare_rc.sh
@@ -115,6 +115,14 @@
 set +x
 
 
+function failMsg {
+  errln=$1
+  echo "ERROR: script did NOT complete successfully"
+  echo "Comment out any steps that already succeeded (approximately lines 124-$(( errln - 1 ))) and try again"
+}
+trap 'failMsg $LINENO' ERR
+
+
 echo ""
 echo "============================================================"
 echo "Cloning repositories..."
diff --git a/dev-tools/release/promote_rc.sh b/dev-tools/release/promote_rc.sh
index d572b80..cdd09b2 100755
--- a/dev-tools/release/promote_rc.sh
+++ b/dev-tools/release/promote_rc.sh
@@ -83,6 +83,14 @@
 fi
 
 
+function failMsg {
+  errln=$1
+  echo "ERROR: script did NOT complete successfully"
+  echo "Comment out any steps that already succeeded (approximately lines 94-$(( errln - 1 ))) and try again"
+}
+trap 'failMsg $LINENO' ERR
+
+
 echo ""
 echo "============================================================"
 echo "Releasing artifacts to mirror sites..."
diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle
index f69bf87..0e7e2cf 100755
--- a/geode-assembly/build.gradle
+++ b/geode-assembly/build.gradle
@@ -624,6 +624,7 @@
 
 [tasks.named('distZip'),
  tasks.named('srcDistZip'),
+ tasks.named('dockerfileZip'),
  ]*.configure {
   enabled = false
 }