Commit Graph
4 Commits
Author SHA1 Message Date
maziggy 7bb11df268 feat(installer): unversioned alias on stable/beta tag releases
Adds bambuddy-windows-x64-setup.exe (unversioned) alongside the
  date-stamped bambuddy-<version>-windows-x64-setup.exe for stable
  and beta tag releases. Lets external surfaces (website, wiki,
  newsletters) link to a stable URL that survives version bumps:

    https://github.com/maziggy/bambuddy/releases/latest/download/
      bambuddy-windows-x64-setup.exe

  Daily prereleases are excluded — GitHub's `latest` redirect skips
  prereleases so the alias would add no value there, and an
  unversioned name next to a date-stamped versioned one on a daily
  release page is semantically confusing.
2026-06-10 13:41:00 +02:00
maziggy 28258ec76e ci(windows-installer): add explicit permissions block
Address CodeQL actions/missing-workflow-permissions finding. Least-
  privilege at workflow level: contents: write is required by
  softprops/action-gh-release to attach the installer .exe to a tag
  release; all other steps are read-only.
2026-06-10 12:36:36 +02:00
maziggy f327b7ffeb ci(windows-installer): drop Inno Setup install step
windows-latest runners ship Inno Setup 6.7.1 pre-installed under the
  same path we already hardcode for ISCC.exe; the choco install was trying
  to downgrade to 6.2.2 and failing on the version mismatch.
2026-06-10 12:18:01 +02:00
maziggy 8711c54ec3 feat(installer): scaffold Windows installer build pipeline
Lays down the Inno Setup + embedded Python pipeline for producing a
  self-contained Bambuddy Windows installer .exe. The installer ships
  an embedded Python 3.13, the pre-built React bundle, NSSM (service
  supervisor) and ffmpeg — no host Python or Node required on the
  target machine.

  Architecture:
  - Install: C:\Program Files\Bambuddy (admin install, one-time UAC)
  - Data:    C:\ProgramData\Bambuddy\data (preserved on uninstall)
  - Service: registered via NSSM, runs as LocalSystem, autostart on boot
  - UI:      browser at http://localhost:8000 (Start Menu shortcut)

  Files:
  - installers/windows/build.py            stages embedded Python + deps,
                                           frontend bundle, NSSM, ffmpeg
  - installers/windows/bambuddy.iss        Inno Setup compiler script
  - installers/windows/service/*.bat       NSSM register/deregister
  - .github/workflows/windows-installer.yml CI build on tag push + manual
                                           dispatch, uploads .exe artifact

  build.py hard-fails on non-Windows hosts; Wine cross-build is an
  unsupported escape hatch behind --allow-non-windows. v1 ships unsigned
  (SmartScreen warns on first run) — production signing will be wired up
  via SignPath OSS once the application is approved.

  See installers/windows/README.md for build prerequisites and the
  embedded-Python ._pth gotchas.
2026-06-10 12:13:53 +02:00