Skip to content

Conversation

@mdmohsin7
Copy link
Member

@mdmohsin7 mdmohsin7 commented Nov 28, 2025

@mdmohsin7
Copy link
Member Author

mdmohsin7 commented Nov 29, 2025

Ignore a lot of unnecessary commits, the process of building DMGs with the correct signatures (when you have entitlements like apns, keychain grps etc) is not really clear and hence took multiple trial and error. And also the desktop_updater package is messy which made me waste 3-4 hrs (but no regrets as I spent time learning what I didn't know)

  • Build and notarise DMG with developer id application (and provisioning profile)
  • Generate and upload update files to gcp
  • Create a new release in GitHub directly
  • Auto fetch updates in app using sparkle (via auto_updater)
  • New endpoint to directly download the latest ver of the app
  • Cleanup

@mdmohsin7
Copy link
Member Author

mdmohsin7 commented Nov 30, 2025

Note: The app will not actually show the checking for update dialog, I enabled it only for testing

sparkle_update.mp4

@mdmohsin7 mdmohsin7 marked this pull request as ready for review November 30, 2025 14:09
@mdmohsin7
Copy link
Member Author

mdmohsin7 commented Nov 30, 2025

New Envs:
In Codemagic:

  • GH_TOKEN (to create a release)
  • SPARKLE_PRIVATE_KEY (to sign the release, our app will reject updates that are not signed with this key)
  • MACOS_DEVELOPER_ID_P12 (developer id application cert content as base64 encoded)
  • MACOS_DEVELOPER_ID_P12_PASSWORD (password for MACOS_DEVELOPER_ID_P12, can be empty)
  • MACOS_DEVELOPER_ID_PROFILE (Provisioning profile associated with the developer id application cert as base64 encoded)

In GCP:
Create a new bucket (omi_macos_updates) in Cloud Storage with no public access (already done) and add below env

  • BUCKET_DESKTOP_UPDATES

Deployment Steps:
Sparkle doesn't support updating apps when sandbox enabled, we should disable sandbox completely

  • Deploy backend
  • Deploy App to GH release (not appstore as these changes are not appstore compatible)

This also introduces a new route v2/desktop/download?platform=macos which will directly download the DMG file (from GitHub), this url can be added to our downloads page

@mdmohsin7 mdmohsin7 requested a review from beastoin November 30, 2025 14:21
@mdmohsin7 mdmohsin7 changed the title desktop updater DMG release + auto update setup Nov 30, 2025
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.

2 participants