Repository navigation
ci: report the automation's manual CI run as the commit status CI passed - #29
Merged
Merged
Conversation
GitHub leaves the check runs of a workflow_dispatch run off the pull request (sdk-go#22 and sdk-node#28: the statusCheckRollup lists only the pull_request suite), so the required "CI passed" check of a bot pull request stayed "Expected" until a person approved its pull_request run. The new report job of a manual ci.yml run sets "CI passed" as a commit status on the head commit, which the pull request does show, and then starts the release workflows once auto-merge has merged the pull request (that merge starts no push workflow; sdk-go#22 merged at 10:48 and nothing ran on main). Also: any auto-merge disable by a person holds the pull request, whatever its reasonCode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Codex review ( 💡 Code reviewReviewed commit: No blocking findings in commit Verdict: APPROVE |
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
The first end-to-end run (sdk-go#22, 2026-11-07 10:40-10:48 UTC) showed that the CI run
bot-pull-requests.ymlstarts withworkflow_dispatchdoes not count for the pull request: GitHub leaves the check runs of a manual run off the pull request. ThestatusCheckRollupof sdk-go#22, and of sdk-node#28 after a manual run there, lists only thepull_requestsuite, so the requiredCI passedcheck stayed "Expected" although the manual run'sCI passedjob had passed at 10:43:51. sdk-go#22 merged (auto-merge, asgithub-actions, 10:48:00) only after a person approved itspull_requestrun at 10:45:35.The same run confirmed that a merge made by a
GITHUB_TOKENauto-merge starts no push workflow: nothing ran onmainafter 10:48.Solution
ci.yml: areportjob, only in manual runs, sets the result ofCI passedas the commit statusCI passedon the run's commit (commit statuses are on the pull request by commit), then, forchore/spec-syncandrelease-please--*, waits up to three minutes for the auto-merge and starts the release workflows onmainwhen the newest commit has no run of them. A cancelled run reports nothing..github/scripts/bot-pull-request.sh: thereportmode,catch-upas a function both modes use. Any auto-merge disable by a person now holds the pull request whatever itsreasonCode(review finding on sdk-java#31, already onmainhere).docs/DESIGN.md13 says so (the same text in all seven).No new token, secret or approval of runs;
spec-sync.ymlandrelease-please-config.jsonare not touched.Verification
actionlint(with shellcheck) andshellcheck: clean.gh:report successonchore/spec-syncsets the status and starts only the release workflow with no run onmain's head;report failuresets a failure status and starts nothing;report cancelledsets nothing; a person's branch gets the status only. The 16 earlier scenarios still pass.mainrequiresCI passedfrom GitHub Actions (app 15368); a commit status set withGITHUB_TOKENcomes from that app. End to end on the next bot pull request: proof in a follow-up comment.🤖 Generated with Claude Code