Skip to content

feat: add CI checks pill for pull requests - #3548

Merged
setchy merged 1 commit into
mainfrom
feat/checks-pill
Oct 28, 2026
Merged

setchy merged 1 commit into
mainfrom
feat/checks-pill

Conversation

@setchy

@setchy setchy commented Oct 28, 2026

Copy link
Copy Markdown
Member

Mirrors the checks indicator GitHub shows in the pull request list (e.g. ✓ 50/50).

  • Fetches statusCheckRollup on the PR's head commit, using the per-state counts (checkRunCountsByState / statusContextCountsByState), so no pagination of individual checks is needed.
  • New ChecksPill shows passed/total:
    • green ✓ when everything passed
    • red ✗ when any check failed
    • yellow • while checks are still running
  • Tooltip and screen reader label: e.g. Checks: 48 passed, 1 failed, 1 pending.
  • Placed just before the reviews pill.

State mapping

Outcome Check run states Status context states
Passed SUCCESS, NEUTRAL, SKIPPED, COMPLETED SUCCESS
Failed FAILURE, CANCELLED, TIMED_OUT, ACTION_REQUIRED, STARTUP_FAILURE, STALE FAILURE, ERROR
Pending QUEUED, IN_PROGRESS, PENDING, WAITING PENDING, EXPECTED

Regenerated GitHub GraphQL types via pnpm codegen.

@setchy
setchy requested a review from afonsojramos as a code owner October 28, 2026 22:24
@github-actions github-actions Bot added the enhancement New feature or enhancement to existing functionality label Oct 28, 2026
@setchy

setchy commented Oct 28, 2026

Copy link
Copy Markdown
Member Author

Future idea: progress wheel for checks

Keeping the ✓ / ✗ / • icons with passed/total for now. An alternative we discussed for later, which would save space and match the sub-issue / task progress pills:

Multi-coloured segmented wheel, no number

  • Reuse the SVG wheel from SubIssueProgressWheel, drawing one arc per outcome: green (passed), red (failed), yellow (pending), over the existing faint track.
  • Drop the 50/50 text; exact counts stay in the tooltip and aria-label (e.g. Checks: 48 passed, 1 failed, 1 pending).

Things to solve

  • At 12px the ring is ~38px around, so 1 failure out of 50 is under 1px of red. Give any non-zero failed/pending count a minimum segment length (~10% of the ring).
  • Start the red segment at 12 o'clock so failures are seen first.
  • Even then, a single failure is a subtler signal than ✗, so compare both on real notifications before switching.

Simpler variants considered:

  • Single-colour wheel (colour by overall state), with or without the number.
  • Current icons, but show only ✓ (no count) when everything passed.

@setchy
setchy merged commit 89c63d6 into main Oct 28, 2026
14 checks passed
@setchy
setchy deleted the feat/checks-pill branch October 28, 2026 22:36
@github-actions github-actions Bot added this to the Release 7.11.0 milestone Oct 28, 2026
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or enhancement to existing functionality

Development

Successfully merging this pull request may close these issues.

1 participant