Skip to content

feat: implement Sparkle auto-update support#7

Merged
ZephyrCodesStuff merged 5 commits intoZephyrCodesStuff:mainfrom
parkergenix:feat/sparkle-autoupdate
Mar 13, 2026
Merged

feat: implement Sparkle auto-update support#7
ZephyrCodesStuff merged 5 commits intoZephyrCodesStuff:mainfrom
parkergenix:feat/sparkle-autoupdate

Conversation

@parkergenix
Copy link
Copy Markdown
Contributor

Summary

  • Wires up the already-linked Sparkle framework so the app can check for and install updates
  • Adds SPUStandardUpdaterController to AppDelegate, started at launch
  • Adds a Check for Updates... item to the right-click context menu
  • Adds SUFeedURL and SUPublicEDKey entries to Info.plist

What the maintainer needs to do before merging

  1. Generate your EdDSA key pair by running generate_keys from Sparkle's bin/ folder (found in DerivedData after building once):
    ./SourcePackages/artifacts/sparkle/Sparkle/bin/generate_keys
    
  2. Replace the SUPublicEDKey placeholder in Info.plist with the output public key
  3. Keep the private key in your Keychain — use sign_update from the same bin/ to sign each release .zip
  4. Host an appcast.xml at the SUFeedURL (defaulted to https://raw.githubusercontent.com/zephkelly/rtaudio/main/appcast.xml — update if your path differs)

Sparkle's documentation covers the full release signing workflow.

@ZephyrCodesStuff
Copy link
Copy Markdown
Owner

Need to merge as GitHub Actions won't inject the repo's secret Sparkle key on runs from forked PRs. I'll try to take it from here; thank you for the initial implementation!

@ZephyrCodesStuff ZephyrCodesStuff merged commit 9effbc9 into ZephyrCodesStuff:main Mar 13, 2026
1 of 2 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.

2 participants