Repository navigation
agentHost: show required checks that never reported on PR artifacts - #347193
Open
Benjamin Christopher Simmonds (benibenj) wants to merge 1 commit into
Open
Benjamin Christopher Simmonds (benibenj) wants to merge 1 commit into
Benjamin Christopher Simmonds (benibenj) wants to merge 1 commit into
Conversation
A required check that never reports on the head (for example a gate job GitHub failed to create) keeps GitHub's merge state BLOCKED, while the artifact showed every check passing and auto-merge silently waited. List such checks as expected/pending and name them in the Merge action's disabled reason. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot started reviewing on behalf of
Benjamin Christopher Simmonds (benibenj)
November 9, 2026 21:56
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are reported for the changes that surface missing required checks and clarify why merging is blocked.
No open issues 🎉
What changed in this PR
This PR makes Agent Host pull request artifacts show required checks that never reported, so the check list reflects why GitHub is blocking a merge. Existing merge eligibility rules remain unchanged.
Changes:
- Add
EXPECTEDplaceholders for missing required checks and display them as pending. - Name missing checks in the disabled Merge explanation and suggest rerunning their workflow.
- Add a regression test covering pending placeholders, missing-check names, and blocked auto-merge.
| File | Description |
|---|---|
src/vs/platform/github/common/pullRequestRequiredChecks.ts |
Adds a placeholder factory for missing required checks. |
src/vs/platform/agentHost/test/common/githubPullRequestArtifact.test.ts |
Tests artifact behavior when a required check never reports. |
src/vs/platform/agentHost/node/artifactIntegrations/githubPullRequestArtifactIntegration.ts |
Adds a specific disabled Merge explanation for missing checks. |
src/vs/platform/agentHost/common/githubPullRequestArtifact.ts |
Includes missing checks in the artifact list and exposes their names. |
Review effort: Balanced
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
When a check that the base branch requires never reports on the pull request's head (for example, the
PR Gatejob was never created for a workflow run), GitHub keeps the merge stateBLOCKED. The GitHub pull request artifact built its check list only from reported checks, so it showed every check as passing while "Merge Automatically When Ready" silently waited. The disabled Merge action only gave a generic reason.Changes
pullRequestRequiredChecks.ts: addtoMissingRequiredCheck, a placeholder for a required check that has not reported, shown asEXPECTEDlike GitHub does.githubPullRequestArtifact.ts:getPullRequestArtifactChecksincludes missing required checks as pending; addgetPullRequestArtifactMissingRequiredChecks.githubPullRequestArtifactIntegration.ts: the disabled Merge action names the missing required checks and suggests rerunning their workflow.The merge gate is unchanged: merging while GitHub reports
BLOCKEDwould fail anyway.Testing
tsc --project ./src/tsconfig.json --skipLibCheck: passedmocha test/unit/node/index.js --delay --ui=tdd --exit --run src/vs/platform/agentHost/test/common/githubPullRequestArtifact.test.ts --run src/vs/platform/agentHost/test/node/githubPullRequestArtifactIntegration.test.ts --run src/vs/platform/agentHost/test/common/agentMerge.test.ts --run src/vs/platform/github/test/common/pullRequestRequiredChecks.test.ts: 152 passing, including a new test for a required check that never reportseslinton changed files: passed