Summary
The maintain-project-repo standard release flow can fail immediately after opening/updating a release PR when GitHub has not reported checks yet.
In gaelic-ghost/SpeakSwiftlyServer, running:
sh scripts/repo-maintenance/release.sh --mode standard --version v4.3.8 --skip-version-bump
successfully validated locally, pushed the release branch, pushed the v4.3.8 tag, and opened/updated the release PR, but then exited with a failure because no PR checks had appeared yet.
Observed behavior
The release script reached the PR check gate before GitHub Actions had attached the workflow run to the PR and reported:
ERROR: no checks reported for pull request #42.
The workflow run appeared shortly afterward and continued normally. This happened repeatedly on the same release branch, so it looks like a race between PR creation/update and the first populated statusCheckRollup/checks response.
Expected behavior
The release flow should treat "no checks reported yet" as a pending/settling state for a bounded window, not as an immediate hard failure.
A likely fix is to poll for initial check discovery separately before evaluating pass/fail status, with a clear timeout message if checks never appear.
Context
Summary
The
maintain-project-repostandard release flow can fail immediately after opening/updating a release PR when GitHub has not reported checks yet.In
gaelic-ghost/SpeakSwiftlyServer, running:successfully validated locally, pushed the release branch, pushed the
v4.3.8tag, and opened/updated the release PR, but then exited with a failure because no PR checks had appeared yet.Observed behavior
The release script reached the PR check gate before GitHub Actions had attached the workflow run to the PR and reported:
The workflow run appeared shortly afterward and continued normally. This happened repeatedly on the same release branch, so it looks like a race between PR creation/update and the first populated
statusCheckRollup/checks response.Expected behavior
The release flow should treat "no checks reported yet" as a pending/settling state for a bounded window, not as an immediate hard failure.
A likely fix is to poll for initial check discovery separately before evaluating pass/fail status, with a clear timeout message if checks never appear.
Context
productivity-skills:maintain-project-reposcripts/repo-maintenance/release.shgaelic-ghost/SpeakSwiftlyServer