Skip to content

fix(release): make the publish step idempotent - #6

Merged
krugis merged 1 commit into
mainfrom
claude/epic-heisenberg-5m3wi7
Jul 13, 2026
Merged

fix(release): make the publish step idempotent#6
krugis merged 1 commit into
mainfrom
claude/epic-heisenberg-5m3wi7

Conversation

@krugis

@krugis krugis commented Jul 13, 2026

Copy link
Copy Markdown
Owner

Problem

The v0.2.0 release workflow failed at the publish step:

a release with the same tag name already exists: v0.2.0
##[error]Process completed with exit code 1.

The build succeeded (all five platform binaries + SHA256SUMS), but publishing the v0.2.0 release from the GitHub UI creates the tag and the release before the workflow runs. The tag push then triggered the workflow, whose gh release create collided with the already-existing release — so no binaries were uploaded and the release is currently empty.

Fix

Make the publish step idempotent:

  • If a release for the tag already exists (UI-publish flow), update its title/notes and upload the assets with --clobber.
  • Otherwise create the release as before (CLI tag-push flow).

Both flows now work and the step is safely re-runnable.

Verification

Workflow YAML validated; the build+package matrix was already confirmed green in the failed run's logs (only the publish step failed). Docs/CI config only — no application code, nothing to unit-test.

After merge

The tag needs to point at a commit that contains this fix, so re-cutting v0.2.0 will pick it up (steps provided separately).

🤖 Generated with Claude Code

https://claude.ai/code/session_01JgWPXefHtzYcspK8zo4Bo6


Generated by Claude Code

Publishing a release from the GitHub UI creates the tag AND the release
before this workflow runs, so `gh release create` failed with "a release
with the same tag name already exists" and no binaries were uploaded.

Now the publish step checks for an existing release: if present it updates
the notes and uploads assets with --clobber; otherwise it creates the
release as before. Both the UI-publish and CLI tag-push flows now work and
the step is safely re-runnable.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgWPXefHtzYcspK8zo4Bo6
@krugis
krugis merged commit 90ea3b6 into main Jul 13, 2026
3 checks passed
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