From c07b40947b54e75926e3723107d81df9546867c2 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 18 May 2026 16:31:42 +0200 Subject: [PATCH] chore(ios): add extra logging to xcodebuild Attempt to get more logs that help us to trace issues in build script phases. Test-bot: skip --- mac/build.sh | 2 +- resources/build/mac/mac.inc.sh | 13 +++++++++++-- resources/build/mac/xcode-utils.inc.sh | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/mac/build.sh b/mac/build.sh index e032db998a7..66064b43007 100755 --- a/mac/build.sh +++ b/mac/build.sh @@ -110,7 +110,7 @@ execBuildCommand() { eval "$cmnd" || ret_code=$? set -e - mac_print_xcode_build_script_logs + mac_print_xcode_build_script_logs $ret_code if [ $ret_code != 0 ]; then builder_die "Build of $component failed! Error: [$ret_code] when executing command: '$cmnd'" diff --git a/resources/build/mac/mac.inc.sh b/resources/build/mac/mac.inc.sh index 5a00793fa1d..ffe10f85743 100644 --- a/resources/build/mac/mac.inc.sh +++ b/resources/build/mac/mac.inc.sh @@ -117,13 +117,16 @@ function _mac_generate_xcode_environment_definition_script() { # If there is no logfile, then this function will not emit anything. # mac_print_xcode_build_script_logs() { + local ret_code="$1" local SCRIPT_LOG="$KEYMAN_ROOT/xcodebuild-scripts.log" if [ -f "$SCRIPT_LOG" ]; then - builder_echo "mac_print_xcode_build_script_logs: reporting script results from previous xcode build" + builder_echo "mac_print_xcode_build_script_logs: reporting script results from previous xcode build (exit code $ret_code)" cat "$SCRIPT_LOG" rm "$SCRIPT_LOG" builder_echo "mac_print_xcode_build_script_logs: done" echo + elif [[ $1 != 0 ]]; then + builder_echo error "mac_print_xcode_build_script_logs: build failed with $ret_code; expected $SCRIPT_LOG to exist" fi } @@ -133,6 +136,9 @@ mac_print_xcode_build_script_logs() { mac_xcodebuild() { typeset cmnd="$*" typeset ret_code + + builder_echo "mac_xcodebuild: start xcodebuild $cmnd" + local hasSetErrExit=false if [ -o errexit ]; then hasSetErrExit=true @@ -144,7 +150,10 @@ mac_xcodebuild() { set -e fi - mac_print_xcode_build_script_logs + mac_print_xcode_build_script_logs $ret_code + + builder_echo "mac_xcodebuild: finish xcodebuild $cmnd" + if [ $ret_code != 0 ]; then builder_die "Build failed! Error: [$ret_code] when executing command: 'xcodebuild $cmnd'" fi diff --git a/resources/build/mac/xcode-utils.inc.sh b/resources/build/mac/xcode-utils.inc.sh index df4bd7d5a20..db1e3b1fda5 100644 --- a/resources/build/mac/xcode-utils.inc.sh +++ b/resources/build/mac/xcode-utils.inc.sh @@ -174,6 +174,7 @@ function phaseSentryDsymUpload() { function logScriptsToFile() { local SCRIPT_LOG="$KEYMAN_ROOT/xcodebuild-scripts.log" exec >> "$SCRIPT_LOG" 2>&1 + echo "Logging xcode build phase script to $KEYMAN_ROOT/xcodebuild-scripts.log" } logScriptsToFile