New to Bitrise: Enhanced Xcode Reporting & Build Annotations

This blog post unpacks Bitrise's latest updates, including the General Availability launch of Enhanced Xcode Reporting and Build Annotations. Discover how these new features can enhance your building, testing, and debugging processes, providing developers with a more efficient and insightful experience.

TLDR: What's New?

  • Enhanced Xcode Reporting: Now generally available, offering detailed and interactive HTML test results, support for screenshots and videos, and a smoother debugging journey for iOS and macOS developers.
  • Build Annotations: A new feature enabling the display of custom annotations about in-progress builds directly on the Bitrise build details page for more transparent and efficient build monitoring.

Now in GA: Enhanced Xcode Reporting

After a successful Beta phase, we're happy to announce that Enhanced Xcode Reporting is now generally available to all Bitrise users.

Designed with iOS and macOS developers in mind, our latest update seeks to simplify and streamline your testing process. As one Beta participant described, “Integration was painless for our simplest UI test pipeline and the results are great. Failures that occur are much clearer now that images and run details render inline on the front page of failed builds.”

Key features include:

  • Interactive HTML Test Results: Dive into detailed and navigable test outcomes directly within the Build details page.
  • Support for Screenshots & Videos: Enhance your debugging insights with the inclusion of visual artifacts like screenshots and video recordings for Xcode tests run on Xcode 15.0+.

Our Beta phase yielded invaluable insights and feedback, helping us to refine the features to best fit your needs. The primary goal? A smoother debugging journey. With these enhancements, we aim to minimize the hurdles and provide more insightful, actionable data at your fingertips.

Kaushal Vyas, Bitrise Product Manager, shared, “Our mission is always about crafting intuitive tools for developers. With this release, we're stepping up to ensure every developer gleans more value from each test they run.”

It's easy to get started. Simply add the Generate Xcode HTML report step using the Workflow Editor. Once added, the enhanced test results for your build will be readily available in the "Tests" tab. Check out our Devcenter documentation for more information.


Just Released: Build Annotations

Next, we’re happy to share the release of Build Annotations on Bitrise. This feature was born from both community feedback and our own desire for more visibility into how in-progress builds are performing.

Build Annotations allow you to surface relevant information directly on the Bitrise build details page, simplifying the process of accessing crucial data during build progression and debugging.

Whether monitoring network and compute usage, performance metrics, or employing third-party plugins for more detailed build insights, Build Annotations delivers a more transparent build process for your entire team. With Build Annotations, you can also surface build failure reasons, reducing the time you need to sift through logs.

Implementing Build Annotations

Implementing Build Annotations is a straightforward process. In the Workflow Editor, simply add any step where you can run a custom command and then render the annotation using the Bitrise CLI Annotation plugin. Build Annotations are styled with Markdown, ensuring a clean and easily understood presentation on the build details page.

If you'd like to take Build Annotations for a spin, here is an example that outputs the CPU and RAM usage of your build machine every 5 seconds:

#!/usr/bin/env bash
# fail if any commands fails
set -e
# make pipelines' return status equal the last command to exit with a non-zero status, or zero if all commands exit successfully
set -o pipefail
# debug log
set -x

# ensure the annotations bitrise CLI plugin is installed
bitrise plugin install https://github.com/bitrise-io/bitrise-plugins-annotations.git

# get CPU/RAM usage
(for((;;)){
set +x
TOP=$(cat <<-END
## 🏎️ CPU/RAM Usage
~~~
$(top -l 1 | grep --line-buffered -e '.*CPU\susage.*\|PhysMem.*')
~~~
END
)

# create an annotation, which will show up on the Build's page
echo "$TOP" | bitrise :annotations annotate --context 'test-context' --style 'info'

# refresh every 5 seconds
sleep 5
}) &

Share your feedback!

Your insights and suggestions have been instrumental in the development of these new features, and we eagerly await more. Share your feedback (and creative implementations of Build Annotations) on our Discuss forum.

Here's to clearer insights, more efficient debugging, and a more transparent build process on Bitrise!

Get Started for free

Start building now, choose a plan later.

Sign Up

Get started for free

Start building now, choose a plan later.