Xcode result bundle to Checks
A Bitrise Step that generates a human-readable test report from the Xcode result bundle and shows it on GitHub Checks.
The result is formatted into a test report that shows the success or failure of the tests, logs, activities, and saved screenshots.
Here is an example result.
Pre-Requisites
Install Helper GitHub App
GitHub Checks can only be updated via the GitHub App. Therefore, to use this step, install this Xcode Result to Check app in your repository.
https://github.com/apps/xcode-result-to-check
Save the result bundle to an accessible location in the previous step
This step only works on macOS stacks.
By default xcodebuild
will generate the xcresult
bundle file to a randomly named directory in DerivedData
. To use this action xcodebuild
needs to generate xcresult
bundle to an accessible location.
This can be done using the -resultBundlePath
flag in xcodebuild
.
If you use the "Xcode Test for iOS" step, the result bundle will be saved at $BITRISE_XCRESULT_PATH
.
Otherwise, specify the destination path with the -resultBundlePath flag to the xcodebuild command as follows.
---
- script@1:
inputs:
- content: |-
#!/usr/bin/env bash
set -ex
xcodebuild -scheme MyFramework -resultBundlePath TestResults test
Usage
For complete input/output documentation, see step.yml.
Example
...
workflows:
primary:
steps:
...
- git::https://github.com/kishikawakatsumi/bitrise-step-xcode-result-bundle-to-checks.git@main:
inputs:
- xcresult_path: "$BITRISE_XCRESULT_PATH"
...
Input parameters
- git::https://github.com/kishikawakatsumi/bitrise-step-xcode-result-bundle-to-checks.git@main:
inputs:
# Path to the xcresult bundle.
#
# Default: $BITRISE_XCRESULT_PATH
- xcresult_path: "$BITRISE_XCRESULT_PATH"
# Title for the check results.
#
# Default: 'Xcode test results'
- title: Xcode test results
Limitations
GitHub Checks has a maximum text limit of 65535 characters. Currently, any text longer than that will be automatically truncated.
There is a limit of 50 annotations in GitHub Checks. Currently, any annotations longer than that will be automatically truncated.