Skip to content

Fix Xcode 27 activity log section parsing#252

Merged
fortmarek merged 1 commit into
MobileNativeFoundation:masterfrom
fortmarek:codex/xcode-27-section-int
Jun 9, 2026
Merged

Fix Xcode 27 activity log section parsing#252
fortmarek merged 1 commit into
MobileNativeFoundation:masterfrom
fortmarek:codex/xcode-27-section-int

Conversation

@fortmarek

Copy link
Copy Markdown
Collaborator

What changed

  • Teach ActivityParser to tolerate the extra integer that Xcode 27.0 serializes between an activity log section's subSections array and text field.
  • Add a token-level regression test that models the Xcode 27.0 section layout.
  • Register the new test in the Linux XCTest manifest.

Why

Xcode 27.0 .xcactivitylog files can fail to parse with:

Unexpected token parsing String: [type: int, value: 0]

The root cause is a serialized format change: section records may include an unknown integer immediately before the text token. Older parser versions read that integer as the text field and fail before any higher-level build parsing can continue.

Impact

Consumers such as Tuist's build analytics processor can parse Xcode 27 build logs instead of rejecting the build payload.

Validation

  • swift test --filter ActivityParserTests
  • swift test
  • .build/debug/xclogparser dump --file '/Users/marekfort/Downloads/xcactivitylog 2/A0007701-F087-4D49-9DB4-DE7A21EB2229.xcactivitylog' --output /private/tmp/xclogparser-xcode27.json

@fortmarek fortmarek force-pushed the codex/xcode-27-section-int branch from 365ebd7 to 31ad253 Compare June 9, 2026 08:28
@fortmarek fortmarek marked this pull request as ready for review June 9, 2026 08:31
@fortmarek fortmarek requested a review from pepicrft June 9, 2026 08:37
@fortmarek fortmarek changed the title [codex] Fix Xcode 27 activity log section parsing Fix Xcode 27 activity log section parsing Jun 9, 2026
@fortmarek fortmarek merged commit 9795956 into MobileNativeFoundation:master Jun 9, 2026
4 checks passed
@fortmarek fortmarek mentioned this pull request Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants