Skip to content

fix(ux): show failed check details on status provider failures#756

Merged
BYK merged 2 commits intomasterfrom
fix/status-check-failure-details
Feb 17, 2026
Merged

fix(ux): show failed check details on status provider failures#756
BYK merged 2 commits intomasterfrom
fix/status-check-failure-details

Conversation

@BYK
Copy link
Member

@BYK BYK commented Feb 17, 2026

Summary

When a CI status check fails during craft publish, the error message now lists which specific checks failed instead of only saying "Build(s) have not succeeded. Please check the revision's status."

Before: Users had to manually query the GitHub API or run with --log-level="Debug" to find which check failed — especially painful for org-wide checks not visible in the repo's GH UI.

After: Failed checks are logged at error level with their name, conclusion, and URL:

The following check(s) have not succeeded:
  FAILURE: ci/lint → https://ci.example.com/2
  ACTION_REQUIRED: org-wide-policy → https://github.com/org/repo/runs/99

See all checks: https://github.com/org/repo/commit/abc123

Changes

File Change
src/status_providers/base.ts Added getFailureDetails() hook (default empty); waitForTheBuildToSucceed() logs details before throwing
src/status_providers/github.ts Caches API responses; overrides getFailureDetails() to list failed statuses/check runs with URLs; excludes pending statuses from failure list
src/status_providers/__tests__/github.test.ts 8 tests covering failed statuses, check runs, mixed failures, pending exclusion, missing URLs, and the footer link

Closes #752

When a CI status check fails during publish, Craft now logs which
specific checks failed (with their conclusion and URL) instead of only
saying "Build(s) have not succeeded". Also includes a direct link to
the commit status page on GitHub.

Closes #752
@BYK BYK marked this pull request as ready for review February 17, 2026 21:15
*/
protected async getRevisionCheckSuites(
revision: string
revision: string,
Copy link
Member

Choose a reason for hiding this comment

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

Shouldn't a linter be able to catch all these commas?

Copy link
Member Author

Choose a reason for hiding this comment

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

it should be the formatter, I'll check that later

Copy link
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

Pending statuses are not failures — only include conclusively failed
ones (consistent with the check runs filter which already checks for
completed status).
@BYK BYK merged commit 46863f8 into master Feb 17, 2026
18 checks passed
@BYK BYK deleted the fix/status-check-failure-details branch February 17, 2026 21:35
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.

Provide more information about status provider check failures

2 participants