Test builds: tool/dev_release.sh builds Linux here and publishes to a dev prerelease that dev builds update from
X.Y.Z-dev.N builds read the dev prerelease's manifest as well as the stable one and take the newer, so a tester gets each test build through the normal update and lands back on stable at the release. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1b0a3db439
commit
ab133dd82f
9 files changed
+228
-23
No files matched your search
@@ -1144,7 +1144,11 @@ does the same from the app binary. In the app, `UpdateController`
|
||||
indicator, which opens the update card, and restarts the app ("Update and
|
||||
restart", closing Hive first).
|
||||
Settings has Check now and an auto-check toggle. The manifest is `updates/manifest.json` in
|
||||
this repo, written by `tool/release.sh`.
|
||||
this repo, written by `tool/release.sh`. Test builds (`X.Y.Z-dev.N`,
|
||||
`isDevBuild`) also read `devManifestUrl`, the `manifest.json` of the `dev`
|
||||
prerelease (`tool/dev_release.sh`), and take the newer of the two
|
||||
(`fetchLatestManifest`); the release X.Y.Z outranks its test builds, so
|
||||
testers land back on stable. `0.0.0-dev` (a dev run) checks nothing.
|
||||
|
||||
## Decisions
|
||||
|
||||
|
||||
@@ -94,6 +94,16 @@ User pushes tags; CI does the rest.
|
||||
release if the other job hasn't yet and uploads (or replaces) its asset.
|
||||
By hand: package, then the same `dart tool/release_publish.dart` line.
|
||||
|
||||
Test builds (Linux, no tag, no CI): `tool/dev_release.sh [--no-publish]`
|
||||
(token: `RELEASE_TOKEN` or `~/.config/watch-together-release-token`, a
|
||||
Gitea access token with repository read/write) builds the working tree here as the next patch's
|
||||
`-dev.N` (N one past the published one) and replaces the assets of the
|
||||
`dev` prerelease with the tarball and its `manifest.json`. Dev builds
|
||||
update from it ([Updater](ARCHITECTURE.md#updater)). A stable install
|
||||
moves onto it once with the command the script prints (run with the app
|
||||
open: it finds the install from the running process and copies the new
|
||||
files over it).
|
||||
|
||||
Tokens come from the environment (`RELEASE_TOKEN`, or Actions-provided
|
||||
`GITHUB_TOKEN`/`GITEA_TOKEN`). The manifest has no `sha256` by default; the
|
||||
updater skips the check when absent. Workflows live in `.gitea/workflows`
|
||||
|
||||
Reference in new issue
Block a user