Skip to content

ci: emit failure annotations on branch CI - #71938

Open
atscott wants to merge 1 commit into
angular:mainfrom
atscott:ci-failure-annotations
Open

atscott wants to merge 1 commit into
angular:mainfrom
atscott:ci-failure-annotations

Conversation

@atscott

@atscott atscott commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Run the test, build, and lint steps of .github/workflows/ci.yml
through scripts/ci/run-with-annotations.mts so failed steps emit a
GitHub Actions ::error workflow command.

This surfaces the failure cause directly in the GitHub Actions run
summary and through the public Check Runs Annotations API, making it
possible for developers, triage tools, and CI dashboards to determine what
failed without downloading or scanning multi-megabyte job log archives
(or requiring authenticated log downloads).

For Bazel test and build steps, the annotation lists the targets that
failed or timed out along with their test output excerpts and compiler
diagnostics for build failures, while excluding flaky targets that passed
on a retry. For other steps, it includes the tail of the command output.
Nothing is emitted when a run is cancelled (such as when a newer commit
supersedes a branch build).

@angular-robot angular-robot Bot added the area: build & ci Related the build and CI infrastructure of the project label Nov 11, 2026
@ngbot ngbot Bot added this to the Backlog milestone Nov 11, 2026
@atscott
atscott force-pushed the ci-failure-annotations branch 2 times, most recently from c4d70e8 to dfdb2aa Compare November 11, 2026 03:06
Run the test, build, and lint steps of `.github/workflows/ci.yml`
through `scripts/ci/run-with-annotations.mts` so failed steps emit a
GitHub Actions `::error` workflow command.

This surfaces the failure cause directly in the GitHub Actions run
summary and through the public Check Runs Annotations API, making it
possible for developers, triage tools, and CI dashboards to determine what
failed without downloading or scanning multi-megabyte job log archives
(or requiring authenticated log downloads).

For Bazel test and build steps, the annotation lists the targets that
failed or timed out along with their test output excerpts and compiler
diagnostics for build failures, while excluding flaky targets that passed
on a retry. For other steps, it includes the tail of the command output.
Nothing is emitted when a run is cancelled (such as when a newer commit
supersedes a branch build).
@atscott
atscott force-pushed the ci-failure-annotations branch from d83a3df to aa2c3c9 Compare November 11, 2026 19:50
@atscott
atscott marked this pull request as ready for review November 11, 2026 20:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build & ci Related the build and CI infrastructure of the project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant