You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
In-app updater + auto-cut releases on merge to main (#5)
* Add in-app update checker and desktop self-updater
Surface an "update available / install update" flow in Settings -> About:
- Bake the app version into a generated PeboBuildConfig at build time
(generatePeboBuildConfig task, overridable with -PappVersion / the release
tag) so the running app knows what version it is.
- Add a shared UpdateChecker that queries the GitHub Releases API and compares
semver to decide whether a newer release exists, plus pure SemVer + release
asset-matching models in commonMain.
- Add a nullable UpdateService seam (mirroring CloudSyncController) with a
DesktopUpdateService that downloads the matching installer (msi/exe/dmg/deb),
launches it, and exits so files can be replaced; mobile passes null and links
to pebo.app instead.
- Wire it through NotesViewModel and main.kt, and build the About panel UI
(real version + Check for updates / Download / Install states with progress).
- Document the updater in the README.
214 desktop tests green (+24 new: SemVer, asset matching, UpdateChecker via
MockEngine, DesktopUpdateService).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Auto-cut releases on merge to main; bump version to 1.1.0
The Release workflow only triggered on pushed v* tags / manual dispatch, so
merging a PR to main never produced a release and the in-app updater had
nothing new to find.
- Trigger Release on push to main (plus the existing tag + manual triggers).
- Add a prepare job that resolves the target version (from the pushed tag,
a manual input, or appVersion in build.gradle.kts) and only proceeds when a
release for that version does not already exist -- so merges are idempotent
and never create duplicate-version releases.
- Build jobs now gate on that decision, build with the resolved -PappVersion,
and create/attach to the vX.Y.Z release via softprops tag_name (works on a
branch push, not just a tag). Android artifact is named from the version too.
- Bump appVersion 1.0.0 -> 1.1.0 so merging this PR cuts the first release that
ships the in-app updater and live-tests the new flow.
- Document the release process (bump appVersion + merge to main) in the README.
214 desktop tests still green; generated PeboBuildConfig reports 1.1.0.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>