ci: pin gorelease and keep the v3 release PR off the blocking API gate - #59
Merged
Conversation
The blocking API check was guarded by `ref_name != 'next' && base_ref != 'next'`. On the eventual next -> main v3 pull request base_ref is 'main' and ref_name is the merge ref, so the blocking gate would have fired on the entire intended v3 break set and made the release PR unmergeable. Add head_ref to both conditions so anything involving `next` reports informationally instead. Also replace `gorelease@latest` with the golang.org/x/exp pseudo-version already present in go.mod: a gate that can block a merge must not float on whatever upstream published that morning. Fix the stale /v2 module path in the golangci-lint config header while here.
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.
Problem
The blocking
API compatibility checkstep was guarded by:On the eventual
next→mainv3 pull request,base_refismainandref_nameis the merge ref — neither equalsnext, so the blocking gate fires and reports the whole intended v3 break set. The release PR would have been unmergeable.Verified locally against a clean tree at this commit:
Also, a gate that can block a merge was floating on
gorelease@latest— not reproducible.Change
github.head_ref != 'next'to the blocking condition and|| github.head_ref == 'next'to the informational one, so anything involvingnextreports without gating.v0.0.0-20251113190631-e25ba8c21ef6, thegolang.org/x/exppseudo-version already ingo.mod. Exposed as a workflow-levelenvvar so both steps stay in lockstep./v2module path in the.golangci.ymlheader comment.Closes the first two "Open Process Items" in
docs/plans/2026-07-22-v3-audit-backlog.md.