Commit Graph

5 Commits

Author SHA1 Message Date
justin c86d2363c1 Sync .NET cwd, bake version into temp .iss, pass /O absolute
Previous run produced "The system cannot find the path specified."
with exit 2 right after ISCC's banner — ISPP loaded fine (Martijn Laan
copyright printed) but then 200ms of work and silent path failure.
Three changes to isolate/fix:

- Sync `[System.IO.Directory]::SetCurrentDirectory` alongside
  Push-Location. PowerShell's Push-Location updates the PSDrive
  location but not the .NET process cwd that native exes inherit, so
  ISCC may have been resolving `..\dist` against the wrong dir.
- Bake AppVersion into a temp `.gen.iss` instead of passing
  `/DAppVersion=...`, removing /D from the equation.
- Pass `/O<absolute path>` so OutputDir resolution doesn't depend on
  cwd at all.

Also dumps the iscc log file contents and prints PS-vs-.NET cwd before
and after Push-Location so the next run shows whether the divergence
was real.
2026-05-08 13:35:34 -04:00
justin 14d1bdc461 Capture ISCC stdout+stderr and pre-flight {#RepoRoot} paths (#12) 2026-05-08 13:19:09 -04:00
justin 7c164ab3b3 Sync: ISCC cwd fix (#11) 2026-05-08 13:10:13 -04:00
justin d89290aedb Sync: installer diagnostics (#9) 2026-05-08 12:56:22 -04:00
justin 9e6abeef74 Phase 6+7: Inno Setup installer + GitHub Actions release pipeline
CI / build (pull_request) Has been cancelled
installer/webhook-server.iss is an Inno Setup 6 script that:
- Installs to %ProgramFiles%\WebhookServer
- Creates Start Menu folder + GUI shortcut (and optional desktop icon)
- Runs install-service.ps1 post-install to register the Windows Service
- Runs uninstall-service.ps1 pre-uninstall to remove it
- Bundles the webhook-server icon for the installer / uninstaller

scripts/build-installer.ps1 is the local build helper: publishes both
projects, finds ISCC.exe (PATH or standard install path), compiles the
installer with the version pulled from Directory.Build.props, drops the
output in dist/.

.github/workflows/ci.yml runs build + test on every push/PR to main.
.github/workflows/release.yml triggers on v* tags (or manual dispatch),
runs tests, installs Inno Setup via choco, builds the installer, and
attaches the .exe to a GitHub Release. Pre-1.0 versions are flagged
prerelease automatically.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 09:52:37 -04:00