fix(updater): sig upload glob + recursive find (latest.json platforms)#192
Merged
Conversation
…ile path)
The previous upload-step glob `src-tauri/target*/release/bundle/...` didn't
match the macOS cross-compile path `target/<triple>/release/bundle/...` —
`*` doesn't cross directory separators, so no `.sig` was uploaded, the
manifest job got empty artifacts, and `latest.json` shipped with
`platforms: {}` → updater error 'None of the fallback platforms were found'.
Switch to `target/**/bundle/...` (`**` crosses dirs) so both the cross-
compile path (macOS aarch64/x86_64) and the plain path (windows nsis) match.
Also: build-updater-manifest.ts now exits non-zero if no platforms were
assembled, so an empty manifest fails the workflow loudly instead of
silently shipping a broken one.
actions/upload-artifact@v4 may preserve directory structure inside the artifact, so the .sig can land nested (not at the updater-<key>/ root). findSig() now walks recursively so the manifest job finds it regardless. Pairs with the glob fix (target/**/bundle) in the prior commit.
🔍 Cora AI Code Review✅ No issues found. Code looks good! Review powered by cora-cli · BYOK · MIT |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the v0.3.3 auto-update manifest having empty
platforms: {}.Root cause (2 issues, both in the release pipeline — no app code):
src-tauri/target*/release/bundle/...—*does not cross/inactions/upload-artifact@v4, so the macOS cross-compile pathtarget/<triple>/release/bundle/macos/*.sigwas never matched → no.siguploaded → manifest job got empty artifacts →platforms: {}. Fix:src-tauri/target/**/bundle/...(**crosses dirs; matches both triple-path macOS + plain-path Windows)..sigcan be nested underupdater-<key>/. The script now finds it recursively (findSig).Also:
build-updater-manifest.tsnow exits non-zero if no platforms assemble (fail loud instead of shipping an empty manifest).Verified locally: YAML parses; script transpiles; recursive find tested against a nested
.sig(found). End-to-end needs a release cut to confirmlatest.jsonships with populatedplatforms.Note: the live v0.3.3 release still has the broken (empty-platforms)
latest.json; fixing it needs a re-cut or a new release — not done here, awaiting confirmation (per workflow rules: no release/main action without explicit go).