fix(ci): handle release-please prefixed tags in goreleaser publish#575
Merged
tolzhabayev merged 2 commits intomainfrom May 8, 2026
Merged
fix(ci): handle release-please prefixed tags in goreleaser publish#575tolzhabayev merged 2 commits intomainfrom
tolzhabayev merged 2 commits intomainfrom
Conversation
GoReleaser fails to parse the release-please monorepo tag format `plugin-validator/v0.42.0` as semver, so v0.42.0 was published without any binary assets. Pass the prefixed tag through `GORELEASER_CURRENT_TAG` with `--skip=validate`, and add `release.mode: keep-existing` so GoReleaser appends artifacts to the release-please-created GitHub release without overwriting its notes.
academo
previously approved these changes
May 8, 2026
Switch from skipping the entire validate pipe to a more surgical fix:
pass the bare semver via GORELEASER_CURRENT_TAG so semver parsing
succeeds, and set `release.tag` in the goreleaser configs to put the
GitHub release at the prefixed tag (`plugin-validator/v{{ .Version }}`,
`mcp/v{{ .Version }}`). Keeps git-state and template validation on.
academo
approved these changes
May 8, 2026
4 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
v0.42.0) viaGORELEASER_CURRENT_TAGso GoReleaser's semver parser succeeds.release.tagin both goreleaser configs (plugin-validator/v{{ .Version }}andmcp/v{{ .Version }}) so the GitHub release is still associated with the full prefixed tag created by release-please.release.mode: keep-existingso GoReleaser appends archives + checksums to the release-please-created GitHub release without overwriting its notes.release-mcp.yml/.goreleaser.mcp.yamlso the first MCP release-please release won't hit the same trap.Why
The first release after the release-please migration (plugin-validator/v0.42.0) shipped with zero assets. The publish workflow run 25553633790 failed at the GoReleaser step:
release-please uses
tag-separator: "/"(monorepo mode for plugin-validator + mcp-package), so tags now look likeplugin-validator/v0.42.0. GoReleaser inspects the git tag and fails its semver check before producing any artifacts.Why not
--skip=validate?A first pass on this used
--skip=validate. That works but disables the entire validate pipe (git-state checks, template validation, file-collision checks, etc.), not just the semver parse. Decoupling the parsed version from the release tag viarelease.tagkeeps validation on while still solving the actual problem.The GoReleaser-Pro
monorepoblock would be the most idiomatic fix but requires a Pro license.Test plan
plugin-validator/v0.42.0to the merge commit and re-push to retrigger the publish workflowchecksums.txtto the v0.42.0 releaserelease-to-github)