Skip to content

ci: recover notarized Mac bundles without rebuilding - #3418

Merged
wgqqqqq merged 1 commit into
GCWing:mainfrom
wgqqqqq:wgq/recover-macos-notary-bundles
Oct 15, 2026
Merged

wgqqqqq merged 1 commit into
GCWing:mainfrom
wgqqqqq:wgq/recover-macos-notary-bundles

Conversation

@wgqqqqq

@wgqqqqq wgqqqqq commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator

The Intel 1.0.6 build was notarized successfully, but Tauri returned success after leaving the app without its stapled ticket. The strict Apple verifier correctly rejected it. Repeating the whole build would discard three hours of successful compilation.

Add a verification recovery mode to Desktop Package. It restores only a trusted producer's unexpired checkpoint after successful compilation and failed Apple verification, checks the app version and architecture, and runs no product build. For the precise missing-ticket state, it verifies the original updater signature and Developer ID, staples and validates the accepted app, then rebuilds and signs both distribution containers. Valid existing tickets retain their packages and matching notary receipt. Other failures remain failures. The normal Apple/Gatekeeper verifier and complete-platform finalization gate stay in place; only successful verification produces a publishable bundle.

Validation:

  • pnpm run check:github-config: 53 passed, one existing PowerShell skip. Covers recovery mode restrictions, trusted source and producer checks, failed/expired/duplicate inputs, ticket error handling, receipt preservation, both repacked containers, and updater signature renewal.
  • bash -n scripts/ci/repair-macos-stapling.sh and git diff --check passed.
  • Downloaded the real retained Intel bundle: strict app codesign and the original updater signature verify. The app lacks Contents/CodeResources while the successfully stapled ARM64 app contains it.
  • Exercised the actual Intel DMG through read/write conversion, app replacement, recompression and remount: strict app signature, metadata and installer layout were preserved. No signing secrets were loaded locally.

No product/runtime changes or remote-scenario claims. Product source remains the immutable v1.0.6 tag.

@wgqqqqq
wgqqqqq merged commit 8272f1d into GCWing:main Oct 15, 2026
5 of 14 checks passed
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