Skip to content

Add xcresult converter from deploy step#315

Draft
gergely-sallai wants to merge 12 commits intomasterfrom
step-2230-move-testreport-to-steputils
Draft

Add xcresult converter from deploy step#315
gergely-sallai wants to merge 12 commits intomasterfrom
step-2230-move-testreport-to-steputils

Conversation

@gergely-sallai
Copy link

@gergely-sallai gergely-sallai commented Mar 9, 2026

feat: STEP-2230 Add xcresult converter from deploy step

  • Moved over XCResult converters from steps-deploy-to-bitrise
  • Bumped dependency versions
  • Refactored go test so that those can be run locally without relying on preparation from bitrise
  • go-steputils dependency is still PR version, to be changed ⚠️

- Moved over XCResult converters from steps-deploy-to-bitrise
- Bumped dependency versions
Added mandatory docs for exported functions and variables. Did not check for the validity of exports, though.
@gergely-sallai gergely-sallai force-pushed the step-2230-move-testreport-to-steputils branch 2 times, most recently from 84c1042 to 5a3fd2b Compare March 10, 2026 12:38
Missing test artifacts.
@gergely-sallai gergely-sallai force-pushed the step-2230-move-testreport-to-steputils branch from 5a3fd2b to e3453b9 Compare March 10, 2026 12:47
- Removed the added bitrise.yml config that prepared the test environment, because that way `go test` would heavily depend on bitrise ci config.
- Moved test data preparation logic to test_converter
This test was failing when it is run on a machine that has different timezone than UTC.
The reason is that we were using xcrun xcresulttool to extract attachments from xcresult and that assembles filenames on the fly using local TZ, this made the test prone to failures (false negative) because it explicitly verified for UTC times.

I don't think we need to test xcresult, so refactored this part.
@gergely-sallai gergely-sallai force-pushed the step-2230-move-testreport-to-steputils branch from ccca158 to e5f1a14 Compare March 10, 2026 15:29
)

// TestSummaryPlist ...
type TestSummaryPlist struct {
Copy link
Contributor

Choose a reason for hiding this comment

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

Can this type (and its methods) be private to the package? I might be wrong, but I only see it used in Convert().

Copy link
Contributor

Choose a reason for hiding this comment

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

And once these are private, we no longer need to write doc comments :)

Copy link
Author

Choose a reason for hiding this comment

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

done, last two commits.

Note: had to rename some variable to not be confused with private types now.
This also true for `func Parse(....)` -> `func loadXCResultData(....)` it was clashing with converter.go's `parse()`
This has to stay exported, was too eager to remove its doc.
ofalvai
ofalvai previously approved these changes Mar 12, 2026
Reasons:
- This was no-op for most of our converters
- The parameter (the reason the func was introduced in the first place I assume) is closely tied to xcresult3 conversion, which is a close implementation detail, not something that belongs in a general interface.
It was causing test failures in deploy-to-bitrise-io step during plist parsing
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