Skip to content

ci: stop piping the macOS xcodebuild through xcbeautify - #391

Merged
kraenhansen merged 2 commits into
mainfrom
kh/ci-capture-xcodebuild-log
Aug 10, 2026
Merged

ci: stop piping the macOS xcodebuild through xcbeautify#391
kraenhansen merged 2 commits into
mainfrom
kh/ci-capture-xcodebuild-log

Conversation

@kraenhansen

@kraenhansen kraenhansen commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

When the macOS test app's xcodebuild archive fails in a script phase, the job log is currently undiagnosable: xcbeautify prints the failure summary (** ARCHIVE FAILED ** plus the list of failed phases) but not the phase's own output, and its stdout is block-buffered through the pipe, so only the first handful of build lines ever reach the job log — out of order, after the summary — before the process exits.

Hit while investigating the macOS failure on #372 (tracked in #392), where both [RN] [1] Build Hermesc and [CP] Copy XCFrameworks were reported as failed with zero output explaining either; the actual cause had to be reproduced locally.

This drops the pipe entirely and takes the raw xcodebuild output: verbose, but complete and correctly ordered, and the step's exit code is now xcodebuild's own (so the set -o pipefail guard is no longer needed). It was the only use of xcbeautify in the repo.

Also points the test-macos job's label gate at #392, which is the current reason the job doesn't run by default.

Independent of #372 — this applies to main as-is.

Test plan

  • Test app (macOS) on this PR (label-gated on MacOS 💻, added) — build succeeds and the log shows raw xcodebuild output

🤖 Generated with Claude Code

@kraenhansen kraenhansen added MacOS 💻 Anything related to the Apple MacOS platform or React Native MacOS support CI Continuous integration labels Aug 10, 2026
@kraenhansen
kraenhansen force-pushed the kh/ci-capture-xcodebuild-log branch from e362967 to 1061c57 Compare August 10, 2026 19:29
@kraenhansen kraenhansen changed the title ci: keep the raw xcodebuild log from the macOS test app build ci: stop piping the macOS xcodebuild through xcbeautify Aug 10, 2026
xcbeautify prints the failure summary of a failed archive but not the
output of the script phase that actually failed, and its stdout is
block-buffered through the pipe, so the tail of the build never reaches
the job log either. A failing archive left nothing to diagnose. Take the
raw xcodebuild output instead: verbose, but complete and correctly
ordered. It was the only use of xcbeautify in the repo.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@kraenhansen
kraenhansen force-pushed the kh/ci-capture-xcodebuild-log branch from 1061c57 to 1d5868e Compare August 10, 2026 19:30
Keeps the existing rationale for the gate and adds the issue tracking the
react-native-macos version block that keeps it in place for now.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@kraenhansen
kraenhansen force-pushed the kh/ci-capture-xcodebuild-log branch from cd18ce7 to 6495d95 Compare August 10, 2026 19:35
@kraenhansen kraenhansen self-assigned this Aug 10, 2026
@kraenhansen
kraenhansen marked this pull request as ready for review August 10, 2026 20:00
@kraenhansen
kraenhansen merged commit 0f467e7 into main Aug 10, 2026
15 checks passed
@kraenhansen
kraenhansen deleted the kh/ci-capture-xcodebuild-log branch August 10, 2026 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Continuous integration MacOS 💻 Anything related to the Apple MacOS platform or React Native MacOS support

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant