Skip to content

fix(release): mark prerelease versions so they do not become latest#1013

Merged
wpfleger96 merged 1 commit into
mainfrom
duncan/release-prerelease-guard
Jun 12, 2026
Merged

fix(release): mark prerelease versions so they do not become latest#1013
wpfleger96 merged 1 commit into
mainfrom
duncan/release-prerelease-guard

Conversation

@wpfleger96

Copy link
Copy Markdown
Collaborator

The versioned gh release create call in .github/workflows/release.yml relied on gh defaults (make_latest=legacy), so GitHub decided "Latest" by created-date and semver comparison. A -test/-beta/-rc tag (e.g. 0.0.0-test.1) could be promoted to the public Latest release pointer because the tag was never flagged as a prerelease.

This guards the versioned release: any version whose semver contains a hyphen is treated as a prerelease and gets --prerelease --latest=false, so GitHub never promotes it. Stable versions (no hyphen) keep the current behavior with no extra flags.

A bash array is used instead of inline $(...) so the stable-release path expands to nothing — an empty $() would leave a stray empty argument that gh may reject.

The two buzz-desktop-latest rolling-release calls are unchanged; they were already --prerelease.

Versioned releases used gh defaults (make_latest=legacy), risking a -test/-beta/-rc tag being promoted to the GitHub Latest pointer. Versions on a prerelease channel (-test/-alpha/-beta/-rc) now get --prerelease --latest=false.

Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
@wpfleger96 wpfleger96 force-pushed the duncan/release-prerelease-guard branch from 7c18f6b to f313f08 Compare June 12, 2026 19:37
@wpfleger96 wpfleger96 merged commit 59a7e5d into main Jun 12, 2026
19 checks passed
@wpfleger96 wpfleger96 deleted the duncan/release-prerelease-guard branch June 12, 2026 19:40
wpfleger96 added a commit that referenced this pull request Jun 12, 2026
git describe --match 'v[0-9]*' matched the throwaway v0.0.0-test.1 tag,
causing LAST_TAG to resolve to it instead of v0.3.18. The v0.3.19
changelog then started from that commit, silently dropping all commits
merged between v0.3.18 and the test tag.

Add --exclude '*-*' so stable vX.Y.Z tags are the only changelog anchors.
Prerelease tags (per semver, any -suffix) are never anchors. The test tag
stays on origin as a live fixture confirming this fix holds.

Follows up on #1013.
tlongwell-block pushed a commit that referenced this pull request Jun 13, 2026
* origin/main: (33 commits)
  fix(desktop): make Windows release compile cleanly (#1029)
  Add production Docker Compose bundle (#985)
  feat(profile): show active turn badges on agent profile panel and popover (#1026)
  chore(release): release version 0.3.20 (#1027)
  fix(release): resolve Windows sidecar path and Linux AppImage updater format (#1024)
  chore(release): release version 0.3.19 (#1014)
  fix(release): ignore prerelease tags in changelog generation (#1021)
  fix: repair main build after cross-PR merge skew (#1020)
  feat(agents): show per-turn duration and prune dead turns within ~25s of host crash (#1017)
  fix(release): replace hermit with native tool setup on Windows job (#1018)
  feat(acp): surface error-class outcomes to the activity feed only, never the channel (#1010)
  fix(desktop): migrate Sprout workspace storage (#1016)
  feat(auth): force token refresh on rejected token (401/403), never the browser (#1015)
  fix(release): mark prerelease versions so they do not become latest (#1013)
  feat(acp): implement systemPrompt with protocol version gating (#981)
  fix(release): update repository name check from block/sprout to block/buzz (#1012)
  feat(release): all-OS desktop builds + universal auto-update manifest (#1011)
  Add relay disconnect UX: friendly errors, reconnect, cached identity (#1004)
  feat(agents): add active turn indicators to Agents Menu (#1005)
  ci: add fork guards to docker, release, and auto-tag workflows (#1007)
  ...

Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant