Skip to content

fix(ci): prevent duplicate draft releases in publish workflow#466

Merged
sorrycc merged 1 commit intomasterfrom
fix/release-race-condition
Apr 9, 2026
Merged

fix(ci): prevent duplicate draft releases in publish workflow#466
sorrycc merged 1 commit intomasterfrom
fix/release-race-condition

Conversation

@sorrycc
Copy link
Copy Markdown
Member

@sorrycc sorrycc commented Apr 9, 2026

Summary

  • Fix race condition where parallel matrix build jobs (arm64 + x64) each called electron-builder --publish=always, creating two separate draft releases instead of one
  • Switch to --publish=never with GitHub Actions artifact passing and a single publish job that merges latest-mac.yml and creates one unified draft release
  • Add Windows x64 NSIS build to the release pipeline

Context

v0.1.0 created two releases: published one had only x64 assets, orphaned draft had only arm64 assets. The arm64 assets have been manually moved to the published release.

Test plan

  • Push a test tag (e.g. v0.1.1-rc.1) and verify only one draft release is created
  • Verify draft release contains: arm64 dmg/zip, x64 dmg/zip, Windows exe, merged latest-mac.yml, latest.yml
  • Verify latest-mac.yml contains file entries for both arm64 and x64

The matrix build jobs (arm64 + x64) each called electron-builder
--publish=always concurrently, causing a race where both created
separate draft releases. Switches to --publish=never with artifact
passing and a single publish job that merges latest-mac.yml and
creates one draft release. Also adds Windows build to the pipeline.
@sorrycc sorrycc merged commit e3fa45a into master Apr 9, 2026
6 checks passed
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 9, 2026

Build Ready

Platform Architecture Download Size
macOS Apple Silicon Download 147.40 MB
macOS Intel Download 155.07 MB
Windows x64 Download 171.05 MB

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