From af540b2c7d6e820c4fd43cba6b81a955817f306b Mon Sep 17 00:00:00 2001 From: Francesco Canovai Date: Mon, 28 Apr 2025 12:08:38 +0100 Subject: [PATCH] ci: stop on errors in subshells (#173) Define a trap that subshells can inherit through "set -E". Closes #172 Signed-off-by: Francesco Canovai --- Debian/update.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Debian/update.sh b/Debian/update.sh index 2ce7ff5a..46a50858 100755 --- a/Debian/update.sh +++ b/Debian/update.sh @@ -17,6 +17,21 @@ set -Eeuo pipefail +error_trap() { + local exit_code=$? + local line_number=$LINENO + local script_name=$(basename "$0") + local func_name=${FUNCNAME[1]:-MAIN} + + echo "❌ ERROR in $script_name at line $line_number" + echo " Function: $func_name" + echo " Command: '$BASH_COMMAND'" + echo " Exit code: $exit_code" + exit $exit_code +} + +trap error_trap ERR + cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" LIBDIR="$(pwd)/../lib"