ci: make release validation dispatchable before any version exists#1836
Merged
Conversation
Extract the three release-gating validation jobs (Windows correctness and lifecycle, Zed verification, codegen drift) into a reusable release-validation.yml. release.yml calls it on tag runs so publishes keep gating on the identical set; workflow_dispatch lets the release pre-flight run the full validation on main BEFORE bumping a version, so a failing check can no longer burn a release tag (v3.4.0 and v3.4.1 were both lost to a Windows-only CRLF failure that had never run pre-tag); a weekly cron surfaces runner-image drift between releases.
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.
v3.4.0 and v3.4.1 both burned their tags on the first-ever Windows run of the relocated cross-platform checks: the validation that gates publishing only executed AFTER the version was committed and the tag pushed.
The three release-gating validation jobs (Windows correctness and lifecycle, Zed verification, codegen drift) move verbatim into a reusable
release-validation.ymlwith three consumers:release.ymlcalls it on tag runs so publishes keep gating on exactly the same set;workflow_dispatchlets the release pre-flight run the full validation against main BEFORE any version mutation, making a red check a zero-cost finding instead of a burned tag; and a weekly cron surfaces runner-image or dependency drift between releases instead of at the next release.actionlint and zizmor both clean (no new findings).