Skip to content

ci: create GitHub release once from collected artifacts - #25

Merged
coldhighsun merged 1 commit into
mainfrom
fix/release-duplicate-draft
Sep 15, 2026
Merged

coldhighsun merged 1 commit into
mainfrom
fix/release-duplicate-draft

Conversation

@coldhighsun

Copy link
Copy Markdown
Owner

Summary

Fixes the Finalize release notes job failing with already_exists on tag_name (seen on v0.5.0-alpha.1).

  • The four release matrix jobs each ran softprops/action-gh-release with draft: true concurrently, racing to create the release and producing duplicate drafts for the same tag. Finalizing one draft then failed because the other draft already claimed the tag.
  • Matrix jobs now upload their archives via actions/upload-artifact; finalize-release downloads them all and calls action-gh-release exactly once (title, notes, assets, publish).
  • Matrix job permission narrowed to contents: read since it no longer writes releases.

Follow-up

The two leftover draft releases for v0.5.0-alpha.1 on GitHub must be deleted manually before re-running the release for that tag.

Test plan

  • Push a prerelease tag and confirm a single release is created with all four assets attached

🤖 Generated with Claude Code

Matrix release jobs each created a draft release concurrently, which
raced and produced duplicate drafts for the same tag; finalizing then
failed with "already_exists" on tag_name. Upload the per-RID archives as
workflow artifacts instead and let finalize-release download them and
create the release in a single step. Narrow the matrix job permission to
contents: read since it no longer writes releases.
@coldhighsun
coldhighsun merged commit c501b5c into main Sep 15, 2026
1 check passed
@coldhighsun
coldhighsun deleted the fix/release-duplicate-draft branch September 15, 2026 16:14
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