Skip to content

ci: parse xcresult bundles in one place - #3480

Merged
datlechin merged 1 commit into
mainfrom
ci/xcresult-parser
Oct 17, 2026
Merged

datlechin merged 1 commit into
mainfrom
ci/xcresult-parser

Conversation

@datlechin

Copy link
Copy Markdown
Member

Why

summarize-xcresult.sh and verify.sh each parsed result bundles, and they drifted. The CI summary printed 0-based lines, one line high, listed "Testing cancelled because the build failed." as a build error, and counted a "System Failures" runner failure as a failed test, which hid "executed no test".

Change

  • scripts/lib/xcresult-cases.py (stdlib, Python 3.9) reads bundles and xunit files for both: tally and errors for verify.sh, summary for CI.
  • summarize-xcresult.sh calls it; platform-apple.sh drops its jq, awk and xmllint parsers.
  • CI summary: 1-based lines, no "Testing cancelled", runner failures listed apart and not counted as executed tests.
  • verify.sh now says to rerun generate-project.sh when a base xcconfig is missing.

Verified

scripts/lib/test_xcresult_cases.py, now run by Repo Hygiene. Old and new parsers agree on real bundles (retries, nested and parameterized Swift Testing, a failed build, a CI runner failure) apart from the fixes above. verify.sh test SQLEscapingTests SpatialProjectionTests passes through it.

Not in this PR

  • detect-changed-paths.sh's oracle suite does not watch scripts/lib/xcresult-cases.py yet.

@datlechin
datlechin merged commit 31a11a1 into main Oct 17, 2026
7 checks passed
@datlechin
datlechin deleted the ci/xcresult-parser branch October 17, 2026 16:25
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.

1 participant