Skip to content

ci: publish releases only after GoReleaser uploads assets - #82

Merged
blimmer merged 1 commit into
mainfrom
mumbai-v1/sentry-deploy-alert-noise
Oct 15, 2026
Merged

blimmer merged 1 commit into
mainfrom
mumbai-v1/sentry-deploy-alert-noise

Conversation

@blimmer

@blimmer blimmer commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Summary

release-please publishes the GitHub Release as soon as the release PR merges, but GoReleaser uploads the assets a few minutes later. In that window releases/latest/download/analyze.sh (and the binaries) return 404, so patchwave.ai/analyze.sh breaks for anyone installing and the Sentry uptime monitor fires (PATCHWAVE-ANALYSIS-CLI-3). For v1.0.0 the release was published at 17:41:15 and the assets landed at 17:43:48.

release-please now creates the release as a draft, and GoReleaser uploads to that draft and publishes it after every asset is in place. latest keeps pointing at the previous release until then. A failed release run now leaves an unpublished draft instead of a broken latest.

Fixes PATCHWAVE-ANALYSIS-CLI-3

Review focus

  • force-tag-creation is required. GitHub doesn't create the tag for a draft release until it's published, so without this option the v* tag would never be pushed and release.yml would never run. The tag is still created with the app token, so it triggers workflows the same way it does today.
  • use_existing_draft looks up the draft by name. GoReleaser's default name_template is {{ .Tag }} (v1.0.0), which matches the name release-please gives the release. If no draft is found, GoReleaser creates a new release, so a name mismatch would show up as a duplicate release.
  • This can only be verified end to end by cutting a release. On the next one, the release should stay a draft until the GoReleaser job finishes.

Commits

  • 5b01804 — ci: publish releases only after GoReleaser uploads assets

release-please published the GitHub Release as soon as the release PR merged,
so releases/latest/download/analyze.sh 404'd until GoReleaser finished
uploading (~2.5 min), tripping the Sentry uptime monitor on every release.

release-please now creates a draft (with force-tag-creation so the v* tag
still triggers release.yml), and GoReleaser uploads to that draft via
use_existing_draft and publishes it once the assets are in place.

Fixes PATCHWAVE-ANALYSIS-CLI-3
@blimmer
blimmer marked this pull request as ready for review October 15, 2026 17:49
@blimmer
blimmer requested a review from jcarver989 as a code owner October 15, 2026 17:49
@blimmer
blimmer merged commit 1aa36d4 into main Oct 15, 2026
7 checks passed
@blimmer
blimmer deleted the mumbai-v1/sentry-deploy-alert-noise branch October 15, 2026 17:50
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.

2 participants