From 37bb63079d102a6905041738ff0256f39c77627f Mon Sep 17 00:00:00 2001
From: Pierre Smeyers <pierre.smeyers@gmail.com>
Date: Fri, 3 Dec 2021 09:50:57 +0100
Subject: [PATCH] fix: execute hook scripts with shebang shell

---
 templates/gitlab-ci-openshift.yml | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/templates/gitlab-ci-openshift.yml b/templates/gitlab-ci-openshift.yml
index ce70c1e..58a5d00 100644
--- a/templates/gitlab-ci-openshift.yml
+++ b/templates/gitlab-ci-openshift.yml
@@ -254,7 +254,8 @@ stages:
     if [[ -f "$prescript" ]]
     then
       log_info "--- \\e[32mpre-apply hook\\e[0m (\\e[33;1m${prescript}\\e[0m) found: execute"
-      bash "$prescript"
+      chmod +x "$prescript"
+      "$prescript"
     else
       log_info "--- \\e[32mpre-apply hook\\e[0m (\\e[33;1m${prescript}\\e[0m) not found: skip"
     fi
@@ -314,7 +315,8 @@ stages:
     if [[ -f "$readycheck" ]]
     then
       log_info "--- \\e[32mreadiness-check hook\\e[0m (\\e[33;1m${readycheck}\\e[0m) found: execute"
-      bash "$readycheck"
+      chmod +x "$readycheck"
+      "$readycheck"
     else
       log_info "--- \\e[32mreadiness-check hook\\e[0m (\\e[33;1m${readycheck}\\e[0m) not found: assume app is ready"
     fi
@@ -326,7 +328,8 @@ stages:
     if [[ -f "$postscript" ]]
     then
       log_info "--- \\e[32mpost-apply hook\\e[0m (\\e[33;1m${postscript}\\e[0m) found: execute"
-      bash "$postscript"
+      chmod +x "$postscript"
+      "$postscript"
     else
       log_info "--- \\e[32mpost-apply hook\\e[0m (\\e[33;1m${postscript}\\e[0m) not found: skip"
     fi
@@ -360,7 +363,8 @@ stages:
     if [[ -f "$deployscript" ]]
     then
       log_info "--- deploy script (\\e[33;1m${deployscript}\\e[0m) found: execute"
-      bash "$deployscript"
+      chmod +x "$deployscript"
+      "$deployscript"
     else
       log_info "--- no deploy script found: run template-based deployment"
 
@@ -466,7 +470,8 @@ stages:
     if [[ -f "$cleanupscript" ]]
     then
       log_info "--- cleanup script (\\e[33;1m${cleanupscript}\\e[0m) found: execute"
-      bash "$cleanupscript"
+      chmod +x "$cleanupscript"
+      "$cleanupscript"
     else
       log_info "--- no cleanup script found: proceed with template-based delete"
 
@@ -475,7 +480,8 @@ stages:
       if [[ -f "$prescript" ]]
       then
         log_info "--- \\e[32mpre-cleanup hook\\e[0m (\\e[33;1m${prescript}\\e[0m) found: execute"
-        bash "$prescript"
+        chmod +x "$prescript"
+        "$prescript"
       else
         log_info "--- \\e[32mpre-cleanup hook\\e[0m (\\e[33;1m${prescript}\\e[0m) not found: skip"
       fi
@@ -490,7 +496,8 @@ stages:
       if [[ -f "$postscript" ]]
       then
         log_info "--- \\e[32mpost-cleanup hook\\e[0m (\\e[33;1m${postscript}\\e[0m) found: execute"
-        bash "$postscript"
+        chmod +x "$postscript"
+        "$postscript"
       else
         log_info "--- \\e[32mpost-cleanup hook\\e[0m (\\e[33;1m${postscript}\\e[0m) not found: skip"
       fi
-- 
GitLab