Skip to content

fix(release): rebuild latest.json once after every desktop leg - #222

Merged
ra3orblade merged 1 commit into
mainfrom
fix/updater-manifest
Oct 24, 2026
Merged

ra3orblade merged 1 commit into
mainfrom
fix/updater-manifest

Conversation

@ra3orblade

Copy link
Copy Markdown
Owner

The 0.18.1 release shipped a latest.json holding only the Linux platforms, so the macOS app reported none of the fallback platforms ["darwin-aarch64-app", "darwin-aarch64"] were found. Cause: each desktop matrix leg lets tauri-action merge its platforms into the manifest by download → delete → upload, and the Linux and Windows legs finished within a second of each other (14:55:50 / 14:55:51), so one read the file in the other's gap and the last upload won with its own platforms only.

  • tools/updater-json.ts rebuilds the manifest from the .sig assets on the release: the same nine platform keys, URLs and signatures tauri-action writes (checked key-for-key against the 0.18.0 manifest; the macOS signature equals the .sig asset byte for byte). It was used to repair 0.18.1 in place, and releases/latest/download/latest.json now carries 9 platforms.
  • updater-manifest job in release.yml, needs: desktop, runs the script and uploads with --clobber, so the manifest no longer depends on the merge.
  • docs/11-desktop-signing.md explains the race and the manual repair.

Verification: typecheck · lint · docs:check · yaml lint; the script run against v0.18.1 and v0.18.0 reproduces their manifests.

🤖 Generated with Claude Code

tauri-action merges each matrix leg's platforms into the updater manifest by
download, delete, upload; the Linux and Windows legs of 0.18.1 finished within a
second of each other, read the file in each other's gap, and the release shipped
a Linux-only latest.json, so the macOS app found no fallback platform.

tools/updater-json.ts rebuilds the manifest from the release's .sig assets (the
same nine keys and signatures tauri-action writes; checked against 0.18.0's
manifest and used to repair 0.18.1 in place), and a new updater-manifest job runs
it after the desktop legs. docs/11 explains the race and the manual repair.

Verified: typecheck, lint, docs:check, yaml lint; the rebuilt 0.18.1 manifest
is live at releases/latest/download/latest.json with 9 platforms.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@ra3orblade
ra3orblade merged commit 668423d into main Oct 24, 2026
3 checks passed
@ra3orblade
ra3orblade deleted the fix/updater-manifest branch October 24, 2026 16:00
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