Skip to main content
Swift packages tested with swift test now get first-class uploads, with each test linked to its source file.

New features

  • Upload swift test XML. Pass --swift-test-xunit-paths to upload the reports written by swift test --xunit-output. One glob covers both the Swift Testing and XCTest files a run writes. See Swift Testing.
  • Tests attributed to their declaring file. These reports carry no file paths, so Trunk resolves each test to the file it is declared in. CODEOWNERS attribution and file links now work for your Swift tests.
  • GitHub Actions support. Use the new swift-test-xunit-paths input on trunk-io/analytics-uploader. See the GitHub Actions guide.
  • Declared-file locations for .xcresult (beta). Add --use-experimental-xcresult-test-locations to attribute each test in an .xcresult bundle to where it is declared. Passing tests get a file too, and large bundles parse faster. macOS only. See XCTest.
A few things to know:
  • History resets once. Switching from --junit-paths to --swift-test-xunit-paths changes test IDs, so affected tests start a fresh history.
  • Pick one format per repository. The same test uploaded from .xcresult and from swift test XML counts as two distinct tests.
See the CLI reference for all upload options.