ci: keep release-gate job green and fix skipped-check aggregation - #511
Merged
Conversation
The release-gate job only posts the Release Checklist commit status; the verdict belongs in that status, not the job's exit code. Exiting non-zero on a failure verdict turned the reporter workflows red and duplicated the status, so the failure branches now exit 0 again. Branch protection should require the Release Checklist status. A summary check can appear more than once on a head SHA (a skipped run from one event plus the real run from another); the old 'last' aggregation could pick the skipped duplicate and report a passing release as failing. state_of now prefers the latest non-skipped run per check name.
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.
Follow-up to #510. Two corrections to the
Release Checklistgate.Job exit code (reverts #510's exit-1 change). The
release-gatejob only posts theRelease Checklistcommit status — the verdict belongs in that status, not in the job's exit code. Exiting non-zero on a failure verdict turned the reporter workflows (lint/phpunit/playwright/merge-gate) red and duplicated the one meaningful status. The failure branches exit 0 again; the job is green whenever it evaluated and posted. Branch protection should require theRelease Checkliststatus as the gate.Check aggregation (real bug). A summary check can appear more than once on a head SHA — a
skippedrun from one event plus the real run from another. The oldlastaggregation could pick theskippedduplicate and report a green release as failing (seen on a recent release run: PHPUnit/Playwright summaries weresuccessbut askippedtwin shadowed them → false "CI not passing").state_ofnow prefers the latest non-skipped run per check name, falling back to skipped only when that is all there is.