From 412c13d0fd8966b577c8d92e0302d6bcb352c0b7 Mon Sep 17 00:00:00 2001 From: Pete Fotheringham Date: Sat, 21 Sep 2024 16:40:39 +0100 Subject: [PATCH] Fix #685 Handle repo sync better Check the returncode. In case of failure call post-build.sh and exit --- src/new_build.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/new_build.sh b/src/new_build.sh index f06e95e..2f639cb 100755 --- a/src/new_build.sh +++ b/src/new_build.sh @@ -246,13 +246,28 @@ for codename in ${devices//,/ }; do fi # `repo sync` + repo_sync_returncode=0 if [ "$CALL_REPO_SYNC" = true ]; then + set +eu echo ">> [$(date)] Syncing branch repository" | tee -a "$repo_log" repo sync "${jobs_arg[@]}" "${retry_fetches_arg[@]}" --current-branch --force-sync &>> "$repo_log" + repo_sync_returncode=$? + set -eu else echo ">> [$(date)] Syncing branch repository disabled" | tee -a "$repo_log" fi + if [ $repo_sync_returncode -ne 0 ]; then + echo ">> [$(date)] repo sync failed for $codename, $branch branch" | tee -a "$DEBUG_LOG" + # call post-build.sh so the failure is logged in a way that is more visible + if [ -f /root/userscripts/post-build.sh ]; then + echo ">> [$(date)] Running post-build.sh for $codename" >> "$DEBUG_LOG" + /root/userscripts/post-build.sh "$codename" false "$branch" &>> "$DEBUG_LOG" || echo ">> [$(date)] Warning: post-build.sh failed!" + fi + do_cleanup + continue + fi + if [ "$CALL_GIT_LFS_PULL" = true ]; then echo ">> [$(date)] Calling git lfs pull" | tee -a "$repo_log" repo forall -v -c git lfs pull &>> "$repo_log"