ci: gate merging on a single Release Validation summary job#774
Closed
elijahbenizzy wants to merge 1 commit into
Closed
ci: gate merging on a single Release Validation summary job#774elijahbenizzy wants to merge 1 commit into
elijahbenizzy wants to merge 1 commit into
Conversation
The Release Validation workflow still runs on every PR (and on release-candidate tag pushes) so failures show up in the checks UI, but it no longer gates merging. This unblocks docs/website-only PRs (like #771) that were stuck in BLOCKED state because GitHub's branch protection treats the path-filtered SKIPPED jobs as non-passing, even though Stefan's prior fix in a655edf intended SKIPPED to satisfy the requirement. Trade-off: a code PR can technically be merged with Release Validation failing, but the red X is highly visible in the PR UI, and the workflow still runs on every push to main and on RC tags.
Contributor
Author
|
Going with the soft-pass pattern in the workflow instead — keeps release-validation as a required check and just no-ops cleanly on path-filtered PRs. Replacement coming in a moment. |
3 tasks
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.
Summary
Replaces the two matrix-suffixed required checks (
Release Validation / build-artifacts,Release Validation / install-and-smoke (3.12)) with a single new required check:Release Validation / summary.The new summary job sits at the end of
release-validation.yml, depends on all the other jobs, and runs withif: always(). It translates upstream job conclusions into one binary verdict:build-artifactsinstall-and-smokesuccesssuccessskipped(path-filtered docs PR)skipped(path-filtered docs PR)failurefailureBecause the summary job is the only required check, branch protection cares only about that single stable name.
Why this is needed
PRs touching only
docs/orwebsite/(like #771) were stuck inBLOCKEDstate. The path filter intentionally skips the heavy validation jobs, but GitHub treatsSKIPPEDas non-passing for required-status-checks. Commita655edf2tried to fix it by adding thecheck-pathsgate; that didn't work becauseSKIPPEDis stillSKIPPED.The
if: always()summary job sidesteps the ambiguity — it always produces a definiteSUCCESSorFAILURE, neverSKIPPED. So branch protection has a stable signal regardless of upstream skip semantics.What this preserves
Real code PRs still get gated. If
build-artifactsorinstall-and-smokefails, the summary fails, and the merge button stays disabled.Test plan
BLOCKEDtoMERGEABLE