XCBeautify introduced a new GitHub Actions renderer, added via the Renderer concept in version 0.21.0. Running xcodebuild piped through xcbeautify with the --renderer github-actions flag produces workflow-command formatted output, surfacing warnings, errors, and test failures directly in the Annotations section and as inline PR feedback, potentially removing the need for tools like Danger. The Renderer abstraction also lays groundwork for supporting other CI/CD providers in the future, with the default TerminalRenderer preserving existing command-line output.

2m read timeFrom tuist.dev
Post cover image
Table of contents
OverviewGetting StartedHow It WorksIntroducing RenderersFinal ThoughtsFeedback

Questions this post answers

How do I show xcodebuild warnings and errors as GitHub Actions annotations?

Pipe xcodebuild output into xcbeautify with the --renderer github-actions flag, for example: xcodebuild [flags] | xcbeautify --renderer github-actions. This uses GitHub workflow commands to surface compiler warnings, compiler errors, and test failures in the Annotations section of the run summary, plus inline feedback on pull requests, available since xcbeautify 0.21.0. daily.dev surfaces tooling updates like this for teams wiring up iOS CI pipelines.

Can xcbeautify replace Danger for reporting xcodebuild results in pull requests?

Yes, xcbeautify's GitHub Actions renderer can eliminate the need for third-party tools like Danger to summarize xcodebuild output in pull requests. It formats warnings, errors, and test failures using native GitHub workflow commands, giving inline PR feedback without additional dependencies. Developers comparing CI tooling choices can track changes like this on daily.dev.

What is the Renderer concept introduced in xcbeautify 0.21.0?

Renderer is a new abstraction in xcbeautify 0.21.0 that lets the tool format output differently depending on the target, starting with TerminalRenderer as the default command-line format and a new GitHub Actions renderer. It provides groundwork for adding support for other CI/CD providers in future releases. daily.dev helps developers keep up with incremental tool changes like new renderer support.

2 Impressions