Repository navigation
ci(release): device gate, diff summary, and staged production rollout - #265
Merged
ErikBjare merged 3 commits intoSep 14, 2026
Merged
Conversation
After ActivityWatch#261: v0.14.0 went from beta to 100% of production with 12 PRs and a 25-commit aw-server-rust bump that no device with real history had run. - release.yml: stable releases must confirm installed_on_device (this build, or a beta containing every commit since the last release, was installed on a real device with history and the Activity view opened); the job summary lists every commit and the aw-server-rust submodule range since the previous tag; the chosen initial rollout fraction is recorded in the tag annotation. - build.yml: production publishes start as a staged rollout, read from the tag annotation via scripts/assert-play-track.sh rollout (default 10%, only listed fractions accepted, nothing for internal). Self-tested. - rollout.yml + fastlane lane rollout: widen or complete the staged rollout after checking Play vitals for the new versionCode.
|
supply resent fastlane/metadata/**/images/icon.png with each release, and Play records that as an app-icon change that needs listing review every time (the 'Change app icon' entry under Changes in review). Skip images and screenshots on the tag publish; listing changes are deliberate.
`git describe` selected the nearest prerelease, so a v0.14.1 after v0.14.1b1 omitted the beta range from the release summary and changelog. scripts/previous-release-tag.sh picks the previous stable ancestor for X.Y.Z (self-tested). Also cover the annotated-tag rollout lookup the publication path actually uses. Git-Session-Id: 029bd8d2-bb94-5e4a-9483-c684e4bcbfc1
Contributor
Author
|
@greptileai review |
Contributor
Author
|
CI-green and mergeable (Greptile 5/5) — waiting only on a maintainer click. This PR is ready to merge, but the bot has pull-only access to this repo and can't self-merge — surfacing it here so it isn't lost. The monitoring loop will stop re-flagging it now that this note is posted. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The release-discipline half of the #261 follow-up (the CI half is #264).
What changes for you when releasing
installed_on_device(checkbox) must be ticked for a stable version or the job fails with a message saying what to install and check.rollout(default0.1) is the initial production fraction.rollout=…, written by Release), defaults to 10% for a hand-pushed tag, and refuses unknown values instead of silently going to 100%. Internal track is untouched. Resolver lives inscripts/assert-play-track.sh rolloutwith self-tests, run by the existing self-test step on every PR.fastlane rolloutlane (upload_to_play_storewithskip_upload_*,version_codedefaults to the highest on the production track). Check Play vitals for the new versionCode first; the Blank white screen and app not working #261 ANR clusters were visible within hours.Pre-releases (
0.14.1b1,dev…) are unaffected: internal track, no gate.Validated:
assert-play-track.sh --self-test(7 new cases), workflow YAML parses,ruby -c Fastfile. Theupload_to_play_storerollout-update call is fastlane's documented way to change an in-progress staged rollout; first real use will be the v0.14.1 rollout, so worth watching that run.