feat(sparkle): add in-app updates using Sparkle framework #43
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.
Summary
Integrates Sparkle 2 for in-app update support, closing #36.
UpdaterServicewrapper for SwiftUIappcast.xmlas a release assetlivecheckwithstrategy :github_latest(no more CI commits)Appcast hosting
The appcast is uploaded as a GitHub release asset. Sparkle clients fetch it from:
This URL always resolves to the latest non-prerelease, so no manual URL management is needed.
Required secrets
Before the first release with Sparkle, two GitHub Actions secrets must be created:
SPARKLE_PUBLIC_EDDSA_KEYSPARKLE_PRIVATE_EDDSA_KEYGenerate with
./bin/generate_keysfrom the Sparkle distribution.Release workflow changes
The release workflow no longer commits anything back to the repository. Instead:
appcast.xmlis uploaded as a release asset alongside the DMGsha256 :no_checkandlivecheck- version is updated manually before releaseCloses #36