Repository navigation
update PRs: a run that never ran decides nothing - #570
Merged
Merged
Conversation
The first rolling pull request of the player libraries (#567) showed it: a pull request this repository's token opens gets pull_request runs that wait for an approval and never run (completed, action_required), and they come AFTER the runs started on its branch, so they are the newest on its commit. update-prs.yml read that live run as a failure (the pull request could never be ready), and the live suite's hand-off took that CI run as the newest and handed nothing over (no verdict after the live suite). Both now leave out runs concluded action_required or skipped, and so does the weekly check for a head without a deciding live run. Each new test fails without this (4 checks red, run in WSL). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Found by the first real rolling pull request of the player libraries, #567, right after #566 merged.
The bug, as measured
A pull request opened with
GITHUB_TOKENgetspull_requestruns that wait for an approval and never run:completed,action_required. They are created after the runstoolchain-updates.ymlstarts on the branch, so they have the higher run ids. On #567's commit2b4d8a0a:Two lookups take "the newest run on the commit":
update-prs.yml's live-suite check would readaction_requiredas a failed live run, so the pull request could never be called ready;live-streams.yml's hand-off would take theaction_requiredCI run as the newest, see that it did not pass, and hand nothing over, so no verdict would come after the live suite.The fix
Both lookups, and the weekly check for a rolling pull request's head without a deciding live run (
toolchain-updates.yml), leave out runs concludedaction_requiredorskipped.Tested
New cases in
update-prs-decide.test.sh(a newer never-run run next to one that passed: ready; only a never-run run: the live suite is started),live-streams-hand-off.test.sh(the CI run that ran is handed over) andtoolchain-updates.test.sh(a head with only a never-run live run gets one). In WSL (verify:linux workflows): without the fix, 4 checks fail (1 + 2 + 1); with it, 230, 704 and 96 checks pass, actionlint and zizmor included.#567 itself: once this is on
main, its decision is started again by hand (Update PRs, with its CI run), and its branch then takesmain, so the chain runs once more on the fixed files.🤖 Generated with Claude Code