Add signed cross-platform updater lifecycle - #547
Conversation
|
@greptileai review current head 6a9d247. Please review the updater state machine, operation concurrency/cancellation, install cleanup, UI accessibility, and credential-gated release/feed workflow. This PR intentionally does not close #532 because real signed publication remains credential-blocked. |
Greptile SummaryThis change adds signed macOS and Windows update publication, release-tag validation, and a verified updater feed. Two previously reported release issues are no longer present. A malicious manually dispatched release tag containing a quote and command substitution was rejected without executing its payload, and the release preparation job does not expose signing or notarization secrets. A structurally valid-looking updater artifact with a nonempty invalid signature was rejected by the compiled signature verifier before The updater lifecycle also preserves completed downloads for installation while ensuring a cancelled download cannot be installed without downloading it again. Confidence Score: 5/5No blocking failure remains. The exercised release-tag, signature-verification, and cancelled-download paths behaved as intended.
What T-Rex did
Reviews (5): Last reviewed commit: "Verify updater artifacts before publishi..." | Re-trigger Greptile |
|
@greptileai review current head. The dispatch input is now passed only through VERSION_INPUT and validated as data. The prepare job has no secrets; production credentials are scoped only to explicit validation/signing steps in their platform jobs. README also distinguishes ephemeral CI validation keys from production material. |
|
Latest head
Keeping this PR draft and #532 open until the documented production signing credentials, release runner, and real signed install test are available. |
81fd8b0 to
22cb5aa
Compare
|
@greptileai review |
|
@greptileai please run a full review of the current head, including the updater artifact verification and release workflow changes. |
|
Current head
The PR remains draft and #532 remains open. The only outstanding milestone item is the real signed Alpha-to-Beta install/update test, which requires the currently offline |
Addresses #532. The issue remains open until the signed Alpha-to-Beta installation is verified on both platforms.
What changed
update-feed/latest.jsonConfiguration completed
TAURI_UPDATER_PUBLIC_KEYproductionenvironmentValidation
npm run lintnpm test(45 frontend tests plus 4 release-feed tests)npm run buildcargo fmt --manifest-path src-tauri/Cargo.toml --checkcargo clippy --locked --manifest-path src-tauri/Cargo.toml --all-targets -- -D warningscargo test --locked --manifest-path src-tauri/Cargo.toml(135 tests plus config tests)Remaining release validation
The A9 Max
switchify-signingrunner is currently offline. Once it is online with SimplySign authenticated, publish/installv1.0.0-alpha.1, merge this PR after review, publishv1.0.0-beta.1, and prove the signed in-app update on macOS and Windows before closing #532.