From 5a43d7a65d0ad30583a4e2448ad320a3bea793b7 Mon Sep 17 00:00:00 2001 From: Christian Winther Date: Thu, 22 Feb 2024 14:57:10 +0000 Subject: [PATCH] improve error handling for [run-command-as] helper --- docker/shared/root/docker/helpers.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docker/shared/root/docker/helpers.sh b/docker/shared/root/docker/helpers.sh index 190c04bc4..3a21ee89e 100644 --- a/docker/shared/root/docker/helpers.sh +++ b/docker/shared/root/docker/helpers.sh @@ -91,20 +91,29 @@ function run-command-as() log-info-stderr "${notice_message_color}👷 Running [${*}] as [${target_user}]${color_clear}" + # disable error on exit behavior temporarily while we run the command + set +e + if [[ ${target_user} != "root" ]]; then stream-prefix-command-output su --preserve-environment "${target_user}" --shell /bin/bash --command "${*}" else stream-prefix-command-output "${@}" fi + # capture exit code exit_code=$? + # re-enable exit code handling + set -e + if [[ $exit_code != 0 ]]; then log-error "${error_message_color}❌ Error!${color_clear}" + return "$exit_code" fi log-info-stderr "${success_message_color}✅ OK!${color_clear}" + return "$exit_code" }