Skip to content

feat(isl): smarter blocked messages and CI checks in merge controls#95

Draft
sontiO wants to merge 2 commits intomainfrom
pr95
Draft

feat(isl): smarter blocked messages and CI checks in merge controls#95
sontiO wants to merge 2 commits intomainfrom
pr95

Conversation

@sontiO
Copy link

@sontiO sontiO commented Mar 4, 2026

When mergeStateStatus is BLOCKED, derive more specific reasons:

  • 'Waiting for CI checks to complete' when signalSummary is 'running'
  • 'CI checks are failing' when signalSummary is 'failed'
  • 'Waiting for required review approvals' when reviewDecision is REVIEW_REQUIRED
  • Falls back to generic 'Blocked by branch protection rules' only when
    no specific reason can be determined

Show individual CI check runs (from the lazy-loaded query) in an
expandable CIStatusBadge below the merge block reasons, so users
can see exactly which checks are pending/failing/passing.


Stack created with Sapling. Best reviewed with ReviewStack.

Extend the lazy-loaded PRMergeState GraphQL query to also fetch:
- statusCheckRollup.contexts (individual CI check runs with status/conclusion)
- autoMergeRequest (whether auto-merge is enabled, with method)

Add server-side handlers for enableAutoMerge/disableAutoMerge mutations
using GitHub's enablePullRequestAutoMerge/disablePullRequestAutoMerge
GraphQL mutations.

Add corresponding message types to ClientToServerMessage and
ServerToClientMessage for the new auto-merge operations.
When mergeStateStatus is BLOCKED, derive more specific reasons:
- 'Waiting for CI checks to complete' when signalSummary is 'running'
- 'CI checks are failing' when signalSummary is 'failed'
- 'Waiting for required review approvals' when reviewDecision is REVIEW_REQUIRED
- Falls back to generic 'Blocked by branch protection rules' only when
  no specific reason can be determined

Show individual CI check runs (from the lazy-loaded query) in an
expandable CIStatusBadge below the merge block reasons, so users
can see exactly which checks are pending/failing/passing.
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.

1 participant