Skip to content

ci(release): serialize desktop publish matrix to avoid duplicate releases#84

Merged
haksungjang merged 1 commit into
mainfrom
fix/release-matrix-race
Jul 2, 2026
Merged

ci(release): serialize desktop publish matrix to avoid duplicate releases#84
haksungjang merged 1 commit into
mainfrom
fix/release-matrix-race

Conversation

@haksungjang

Copy link
Copy Markdown
Member

Problem

The v1.1.2 release was split across two GitHub release objects for the same tag: the "Latest" one had only the macOS .dmg + SBOM, while onot-Setup-1.1.2.exe landed on a duplicate release. Users clicking Latest got no Windows installer. (The v1.1.2 assets have since been consolidated onto one release by hand.)

Cause

publish-desktop runs the windows and macos legs concurrently, each with electron-builder --publish always. Publishing at the same time, each leg created its own release for the tag (a known electron-builder multi-CI race). It happened to not trigger on v1.1.0/v1.1.1 but did on v1.1.2.

Fix

strategy.max-parallel: 1 serializes the legs, so the first creates the release and the second finds it by tag and uploads to it. The release-time asset-name check added earlier (Verify published installer names match the docs) already catches this class of failure if it recurs.

A heavier alternative (build artifacts with --publish never, then a single job creates the release and uploads all OS assets) is more robust but a larger change; serialization is the minimal reliable fix.

…releases

The publish-desktop matrix ran windows and macos with `electron-builder --publish
always` concurrently. When both legs published at once, each created its own GitHub
release for the same tag, splitting the v1.1.2 assets across two releases (the
Windows installer landed on a duplicate, not the "Latest" one). max-parallel: 1
serializes the legs so the second uploads to the release the first already created.
@haksungjang haksungjang merged commit 886e775 into main Jul 2, 2026
20 checks passed
@haksungjang haksungjang deleted the fix/release-matrix-race branch July 2, 2026 05:37
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