Poll windows-continuous by git SHA, download the matching zip, and apply it in place so friends stay current without manual installs. Co-authored-by: Cursor <cursoragent@cursor.com>
1.9 KiB
Windows continuous release (Forgejo → private GitHub builder)
Native InfiniPaint Windows builds need MSVC (see docs/BUILDING.md +
windowsinstall/). There is no Linux cross-build path.
Policy:
- Forgejo (
copilot/infinipaint) is the public fork and download site. - GitHub (
littlecodedragon/infinipaint) is a private builder mirror only (windows-latestMSVC). Must stay private. - Tower
desktop-releaseruns the Forgejo workflow: it dispatches/waits on the private GitHub build, then checks the public Forgejo release.
Public download (friends)
https://forgejo.fsociety00.cc/copilot/infinipaint/releases/tag/windows-continuous
Portable zip → extract → run infinipaint.exe.
Auto-update (portable)
Windows builds embed the short git SHA at configure time. On startup they poll the
public Forgejo API for tag windows-continuous. If the release commit differs,
a dialog offers Download and install update (downloads the zip, extracts over
the install folder via a helper script after quit, then restarts). Toggle via
Settings → check for updates.
Workflows
| File | Runner | Role |
|---|---|---|
.forgejo/workflows/windows_release.yml |
desktop-release (Tower) |
Orchestrate + verify Forgejo release |
.github/workflows/windows_release.yml |
windows-latest (private) |
Compile + upload Forgejo asset |
Forgejo repo secret: GH_BUILDER_TOKEN (GitHub PAT with actions:write /
contents:read on the private mirror).
GitHub Actions secret: FORGEJO_TOKEN (Forgejo PAT with release write on
copilot/infinipaint).
Tray
Tower CI job tray (ci-runner-job-tray.py) tracks:
Forgejo desktop-release— host unit (orchestrator + APK jobs)Forgejo InfiniPaint Windows— Forgejo Actions run for this workflow
Sync remotes
git push origin main # Forgejo (public)
git push github main # private builder
Keep GitHub private.