Skip to content

feat(pull-requests): show checks on the merge commit - #1074

Open
incognitojam wants to merge 4 commits into
mainfrom
styal/merge-commit-checks
Open

incognitojam wants to merge 4 commits into
mainfrom
styal/merge-commit-checks

Conversation

@incognitojam

@incognitojam incognitojam commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Merged pull requests showed source-branch checks, so a successful PR result could obscure a failure on the resulting commit.

GitHub's resulting commit SHA is read after merging. In Checks, a Merge commit / Pull request switch selects the commit and its own results, using the same list for both. The merge result is the default, and the existing checks-status control opens it directly. Summary keeps its review overview. Commit and check links retain their exact targets, and merged views refresh as checks run. Missing commits, unreadable or incomplete checks, and no reported checks stay distinct; unnamed contexts cannot produce a false passing result.

Verification:

  • In the running web app, opened the public upstream PR 24602, switched between the resulting and source SHAs, and observed their different results in the same list. Returning through the Summary checks-status control selected the merge result.
  • Browser interaction tests exercise switching, scope-specific rows/SHAs/links, pending-to-failed updates, unavailable and empty results, and unsupported hosts. Summary and existing checklist behavior are also covered.
  • Focused API and service scenarios cover merge/squash/rebase SHA selection, successful source checks with failing merge checks, unchanged PR timestamps, pagination/read errors and unnamed contexts. The earlier Android pass exercised its separate expandable check groups.

Separate Electron, iOS and relay/tunnel runs were not performed.

Before

Before: merged pull requests show only PR checks

After

Summary with the merge result in the existing checks-status control

Checks showing the merge commit and its own results

The same checklist showing the pull request source commit


Written by an agent (Codex, gpt-6.1-sol).

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Upstream divergence

Both sides are compared with upstream at the in-order tip 3982f20ce4. Excludes .repos/ and pnpm-lock.yaml.

Measure Base This PR Change
Upstream files the fork changes 1,683 1,683 0
Lines changed in them 91,598 92,394 +796
Upstream files the fork removes 49 49 0
Fork-only files 661 667 +6
Fork-only lines 118,803 119,488 +685
Upstream files whose difference changes (20)
File Change Now differs by
packages/source-control-github/src/server/pullRequestReads.graphql.ts +213 944 lines
packages/source-control-github/src/server/GitHubPullRequestApi.test.ts +160 1,917 lines
packages/source-control-github/src/server/GitHubPullRequestApi.ts +75 919 lines
apps/mobile/src/features/pull-requests/PullRequestStatusRows.tsx +72 83 lines
apps/server/src/pullRequest/PullRequestService.test.ts +60 601 lines
apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx +43 431 lines
packages/source-control-github/src/server/pullRequestReads.graphql +39 491 lines
apps/web/src/components/pullRequest/PullRequestTimelineTab.tsx +26 56 lines
packages/source-control-github/src/server/gitHubPullRequestJson.ts +20 457 lines
packages/contracts/src/pullRequest.test.ts +18 33 lines
apps/web/src/components/pullRequest/pullRequestDetail.logic.test.ts +17 101 lines
apps/web/src/components/pullRequest/pullRequestDetail.logic.ts +11 43 lines
packages/contracts/src/pullRequest.ts +11 116 lines
apps/web/src/components/pullRequest/PullRequestSummaryTab.tsx +9 101 lines
docs/user/source-control.md +7 95 lines
apps/mobile/src/features/pull-requests/PullRequestRouteScreen.tsx +4 17 lines
packages/client-runtime/package.json +4 44 lines
apps/server/src/pullRequest/PullRequestService.ts +3 251 lines
docs/user/telemetry.md +2 110 lines
packages/source-control-core/src/server/PullRequestProvider.ts +2 84 lines

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ The exact PR base did not have a successful artifact. Baseline uses the latest successful main measurement shown below.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 4.9 KiB −30 B (−0.6%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB −30 B (−2.5%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.9 KiB 20.8 KiB −41 B (−0.2%) 29.3 KiB ✅
Codex Live turn messages 2 1 −1 (−50.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: 8fa205a · PR result: dbdacec · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@incognitojam
incognitojam marked this pull request as ready for review October 25, 2026 21:45

This branch has not been deployed

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant