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)
- Copy the
series3-watcher/folder to the VM (shared folder, USB, etc.) - Double-click
build.bat - Wait for it to finish — output:
dist\series3-watcher.exe
Step 2 — Build the installer (on the Win7 VM)
- Open
installer.issin Inno Setup Compiler - Click Build → Compile
- Output:
Output\series3-watcher-setup.exe
Step 3 — Create a Gitea release
- On your main machine, go to
https://gitea.serversdown.net/serversdown/series3-watcher - Click Releases → New Release
- Set the tag to match the version in
series3_watcher.py(e.g.v1.4.1) - Upload both files as release assets:
dist\series3-watcher.exe— used by the auto-updater on existing installsOutput\series3-watcher-setup.exe— used for fresh installs
Step 4 — Install on the target machine
- Download
series3-watcher-setup.exefrom the Gitea release - Run it on the target machine — installs to
C:\Program Files\Series3Watcher\ - The watcher launches automatically after install (or on next login)
- 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)
- Pull the latest code to the VM
- Double-click
build.bat - 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
- Go to
https://gitea.serversdown.net/serversdown/series3-watcher - Click Releases → New Release
- 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 - Upload
dist\series3-watcher.exeas a release asset - Optionally upload
Output\series3-watcher-setup.exeif 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 outputOutput/— Inno Setup outputbuild/— PyInstaller temp files*.spec— PyInstaller spec fileconfig.ini— machine-specific, never commitagent_logs/— log files