Skip to content

Commit 1e6e48c

Browse files
authored
[Firebase AI] Upload xcodebuild logs in integration tests (#14844)
1 parent 71e0d67 commit 1e6e48c

File tree

2 files changed

+24
-7
lines changed

2 files changed

+24
-7
lines changed

.github/workflows/firebaseai.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,13 @@ jobs:
131131
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
132132
- name: Run IntegrationTests
133133
run: scripts/build.sh FirebaseAIIntegration ${{ matrix.target }}
134+
- name: Upload xcodebuild logs
135+
if: failure()
136+
uses: actions/upload-artifact@v4
137+
with:
138+
name: xcodebuild-${{ matrix.target }}-${{ matrix.os }}-${{ matrix.xcode }}.log
139+
path: xcodebuild-*.log
140+
retention-days: 2
134141

135142
pod-lib-lint:
136143
# Don't run on private repo unless it is a PR.

scripts/build.sh

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,12 +109,15 @@ source scripts/check_secrets.sh
109109
# If xcodebuild fails with known error codes, retries once.
110110
function RunXcodebuild() {
111111
echo xcodebuild "$@"
112+
local xcodebuild_args=("$@")
113+
local buildaction="${xcodebuild_args[$# - 1]}" # buildaction is the last arg
114+
local log_filename="xcodebuild-${buildaction}.log"
112115

113-
xcbeautify_cmd=(xcbeautify --renderer github-actions --disable-logging)
116+
local xcbeautify_cmd=(xcbeautify --renderer github-actions --disable-logging)
114117

115-
result=0
116-
xcodebuild "$@" | tee xcodebuild.log | "${xcbeautify_cmd[@]}" \
117-
&& CheckUnexpectedFailures xcodebuild.log \
118+
local result=0
119+
NSUnbufferedIO=YES xcodebuild "$@" 2>&1 | tee "$log_filename" | \
120+
"${xcbeautify_cmd[@]}" && CheckUnexpectedFailures "$log_filename" \
118121
|| result=$?
119122

120123
if [[ $result == 65 ]]; then
@@ -124,8 +127,8 @@ function RunXcodebuild() {
124127
sleep 5
125128

126129
result=0
127-
xcodebuild "$@" | tee xcodebuild.log | "${xcbeautify_cmd[@]}" \
128-
&& CheckUnexpectedFailures xcodebuild.log \
130+
NSUnbufferedIO=YES xcodebuild "$@" 2>&1 | tee "$log_filename" | \
131+
"${xcbeautify_cmd[@]}" && CheckUnexpectedFailures "$log_filename" \
129132
|| result=$?
130133
fi
131134

@@ -505,12 +508,19 @@ case "$product-$platform-$method" in
505508
;;
506509

507510
FirebaseAIIntegration-*-*)
511+
# Build
512+
RunXcodebuild \
513+
-project 'FirebaseAI/Tests/TestApp/VertexAITestApp.xcodeproj' \
514+
-scheme "VertexAITestApp-SPM" \
515+
"${xcb_flags[@]}" \
516+
build
517+
518+
# Run tests
508519
RunXcodebuild \
509520
-project 'FirebaseAI/Tests/TestApp/VertexAITestApp.xcodeproj' \
510521
-scheme "VertexAITestApp-SPM" \
511522
"${xcb_flags[@]}" \
512523
-parallel-testing-enabled NO \
513-
build \
514524
test
515525
;;
516526

0 commit comments

Comments
 (0)