feat(release): pack the dev channel as its own app so it installs beside stable #115

Merged
KofTwentyTwo merged 1 commits from feat/dev-edition into main 2026-10-10 23:47:27 +00:00
KofTwentyTwo commented 2026-10-10 23:40:46 +00:00 (Migrated from github.com)

Prereleases now pack as Velopack app id gclo-dev while stable stays gclo, so a dev build installs beside the stable app: separate install folder, Start menu entry, update feed and data root (%LOCALAPPDATA%\KofTwentyTwo\gclo-dev), with (dev) in the window title.

  • Program.cs reads the installed app id from VelopackLocator.Current and sets GcloPaths.Edition; GcloPaths.DefaultDataRoot follows it (pure mapping unit-tested). Local and CLI runs stay on the stable paths.
  • release.yml: app-id derived from the tag (prerelease → gclo-dev); verify-signatures downloads the matching asset names (gclo-dev-dev-Setup.exe …).
  • docs/RELEASING.md: the split, the asset names, and that dev installs made before the split (app id gclo, up to 1.0.2-beta.3) must be uninstalled or replaced by the stable app.

Closes #114 (part of #62).

Tested: build 0 warnings, format clean, actionlint clean, Engine tests 480/480 with 100% coverage on Engine and ViewModels (the real-Credential-Manager round-trip test flaked once in a parallel run and passes on its own and on re-run).

🤖 Generated with Claude Code

Prereleases now pack as Velopack app id **gclo-dev** while stable stays **gclo**, so a dev build installs beside the stable app: separate install folder, Start menu entry, update feed and data root (`%LOCALAPPDATA%\KofTwentyTwo\gclo-dev`), with `(dev)` in the window title. - `Program.cs` reads the installed app id from `VelopackLocator.Current` and sets `GcloPaths.Edition`; `GcloPaths.DefaultDataRoot` follows it (pure mapping unit-tested). Local and CLI runs stay on the stable paths. - `release.yml`: `app-id` derived from the tag (prerelease → `gclo-dev`); `verify-signatures` downloads the matching asset names (`gclo-dev-dev-Setup.exe` …). - `docs/RELEASING.md`: the split, the asset names, and that dev installs made before the split (app id `gclo`, up to 1.0.2-beta.3) must be uninstalled or replaced by the stable app. Closes #114 (part of #62). Tested: build 0 warnings, format clean, actionlint clean, Engine tests 480/480 with 100% coverage on Engine and ViewModels (the real-Credential-Manager round-trip test flaked once in a parallel run and passes on its own and on re-run). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.