MSI upgrade/data preservation + service data dir + CI toolchain fixes #4

Merged
gsadmin merged 3 commits from development into main 2026-09-02 13:28:07 +00:00
Owner
  • fix(cli): pin service working dir so DB lands in Program FilesOrchestrADdata (was System32)
  • installer: record Version + InstallDir; preserve database on upgrade (validated v1->v2)
  • ci: pin GOTOOLCHAIN=local + goversioninfo@v1.7.0 (fixes run #4 failure)

Re-runs the pipeline.

- fix(cli): pin service working dir so DB lands in Program FilesOrchestrADdata (was System32) - installer: record Version + InstallDir; preserve database on upgrade (validated v1->v2) - ci: pin GOTOOLCHAIN=local + goversioninfo@v1.7.0 (fixes run #4 failure) Re-runs the pipeline.
gsadmin added 3 commits 2026-09-02 13:28:04 +00:00
A service launched by the SCM inherits the manager's working directory
(C:\Windows\System32 on Windows), which put the default ./data there. When
running non-interactively, chdir to the executable's directory so the database
lands beside the installed binary (Program Files\OrchestrAD\data). Interactive
and container runs are unaffected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Record InstallDir and Version under HKLM\Software\Grace Solutions\OrchestrAD and
reuse the install directory on upgrade via a RegistrySearch. Upgrades remove the
old product first (stopping the service) then install the new binary and
re-initialize, so only binaries change and the runtime data directory (SQLite
database) is never touched. Verified: v1->v2 upgrade keeps the DB file and a
sentinel intact, service stays healthy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
go install goversioninfo@latest pulled a newer Go toolchain (1.26) that
mismatched setup-go's 1.24 and broke the resource step. Set GOTOOLCHAIN=local and
pin goversioninfo@v1.7.0 so the pinned toolchain builds the pinned tool.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gsadmin added 3 commits 2026-09-02 13:28:04 +00:00
A service launched by the SCM inherits the manager's working directory
(C:\Windows\System32 on Windows), which put the default ./data there. When
running non-interactively, chdir to the executable's directory so the database
lands beside the installed binary (Program Files\OrchestrAD\data). Interactive
and container runs are unaffected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Record InstallDir and Version under HKLM\Software\Grace Solutions\OrchestrAD and
reuse the install directory on upgrade via a RegistrySearch. Upgrades remove the
old product first (stopping the service) then install the new binary and
re-initialize, so only binaries change and the runtime data directory (SQLite
database) is never touched. Verified: v1->v2 upgrade keeps the DB file and a
sentinel intact, service stays healthy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
go install goversioninfo@latest pulled a newer Go toolchain (1.26) that
mismatched setup-go's 1.24 and broke the resource step. Set GOTOOLCHAIN=local and
pin goversioninfo@v1.7.0 so the pinned toolchain builds the pinned tool.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gsadmin merged commit 8d4d32222d into main 2026-09-02 13:28:07 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gsadmin/OrchestrAD#4