Files
series3-watcher/BUILDING.md

3.8 KiB

Building & Releasing Series 3 Watcher

Prerequisites (Win7 VM — do this once)

  • Python 3.7.2 (or 3.8.10 if SP1 is installed)
  • Inno Setup 6 — installed at C:\Program Files (x86)\Inno Setup 6\
  • PyInstaller, pystray, Pillow — installed automatically by build.bat

The Win7 VM is the build machine. All builds must happen there to ensure compatibility with the production DL2 computer.


First-Time Install on a New Machine

Do this when setting up a brand new machine that has never had the watcher before.

Step 1 — Build the .exe (on the Win7 VM)

  1. Copy the series3-watcher/ folder to the VM (shared folder, USB, etc.)
  2. Double-click build.bat
  3. Wait for it to finish — output: dist\series3-watcher.exe

Step 2 — Build the installer (on the Win7 VM)

  1. Open installer.iss in Inno Setup Compiler
  2. Click Build → Compile
  3. Output: Output\series3-watcher-setup.exe

Step 3 — Create a Gitea release

  1. On your main machine, go to https://gitea.serversdown.net/serversdown/series3-watcher
  2. Click Releases → New Release
  3. Set the tag to match the version in series3_watcher.py (e.g. v1.4.1)
  4. Upload both files as release assets:
    • dist\series3-watcher.exe — used by the auto-updater on existing installs
    • Output\series3-watcher-setup.exe — used for fresh installs

Step 4 — Install on the target machine

  1. Download series3-watcher-setup.exe from the Gitea release
  2. Run it on the target machine — installs to C:\Program Files\Series3Watcher\
  3. The watcher launches automatically after install (or on next login)
  4. The Setup Wizard appears on first run — fill in the Terra-View URL and Blastware path

Releasing an Update (existing machines auto-update)

Do this for any code change — bug fix, new feature, etc.

Step 1 — Bump the version

In series3_watcher.py, update the VERSION string:

VERSION = "1.4.2"   # increment appropriately

Also update installer.iss:

AppVersion=1.4.2

Step 2 — Build the .exe (on the Win7 VM)

  1. Pull the latest code to the VM
  2. Double-click build.bat
  3. Output: dist\series3-watcher.exe

For hotfixes you can skip Inno Setup — existing machines only need the .exe. Only rebuild the installer if you need a fresh install package for a new machine.

Step 3 — Create a Gitea release

  1. Go to https://gitea.serversdown.net/serversdown/series3-watcher
  2. Click Releases → New Release
  3. Tag must match the new version exactly (e.g. v1.4.2) — the auto-updater compares this tag against its own version to decide whether to update
  4. Upload dist\series3-watcher.exe as a release asset
  5. Optionally upload Output\series3-watcher-setup.exe if you rebuilt the installer

Step 4 — Done

Existing installs check Gitea every ~5 minutes. When they see the new tag they will download series3-watcher.exe, swap it in place, and relaunch silently. No user action required on the target machine.


Version Numbering

Follows Semantic Versioning: MAJOR.MINOR.PATCH

Change type Example
Bug fix / text change 1.4.1 → 1.4.2
New feature 1.4.x → 1.5.0
Breaking change 1.x.x → 2.0.0

Files That Go in the Gitea Release

File Required for Notes
dist\series3-watcher.exe Auto-updates on existing machines Always upload this
Output\series3-watcher-setup.exe Fresh installs on new machines Only needed for new deployments

Files That Are NOT Committed to Git

  • dist/ — PyInstaller output
  • Output/ — Inno Setup output
  • build/ — PyInstaller temp files
  • *.spec — PyInstaller spec file
  • config.ini — machine-specific, never commit
  • agent_logs/ — log files