Skip to content

Remove legacy XcResult support for Xcode versions older than 16 - #505

Merged
priitlatt merged 1 commit into
masterfrom
cleanup/legacy-xcresult-schema
Oct 7, 2026
Merged

priitlatt merged 1 commit into
masterfrom
cleanup/legacy-xcresult-schema

Conversation

@priitlatt

Copy link
Copy Markdown
Contributor

Motivated by #503 (comment).

Since PR #431 (released in 0.54.0) we have kept two XcResult to JUnit converters and picked one at runtime by the selected Xcode version. Xcode versions older than 16 no longer need support, so this PR removes the legacy converter.

Changes

  • Remove LegacyXcResultConverter, the codemagic.models.xctests.xcresult.legacy_xcresult module (ActionsInvocationRecord etc.) and its tests and mocks.
  • Remove the XcResultTool methods is_legacy, get_bundle and get_object.
  • Merge Xcode16XcResultConverter into XcResultConverter, which is no longer an abstract base class.

Effect

  • The xcode-project actions run-tests, test-summary and junit-test-results need Xcode 16+ to parse test results. With older Xcode versions they fail with Parsing test results failed.
  • ⚠️ The Python API changes are backwards incompatible.

Updated actions

  • xcode-project run-tests
  • xcode-project test-summary
  • xcode-project junit-test-results

@artemii-yanushevskyi artemii-yanushevskyi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look solid.

Consider fail early with clear "Xcode 16+ required". Xcode < 16 no longer has a clear capability gate. Processing could fail with a generic parsing error.

@priitlatt
priitlatt merged commit 17ceb68 into master Oct 7, 2026
15 checks passed
@priitlatt
priitlatt deleted the cleanup/legacy-xcresult-schema branch October 7, 2026 13:31
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