From d65d524538fc9554ded69f58df59a1e9712336ca Mon Sep 17 00:00:00 2001 From: Francesco Canovai Date: Mon, 28 Apr 2025 11:26:12 +0200 Subject: [PATCH] ci: stop on errors in subshells 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 2ce7ff5a9..46a50858e 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"