infinipaint/docs/windows-runner.md
copilot cdc4c5cb30
Some checks failed
Windows Release / windows-x86_64 (push) Failing after 1h12m0s
Add Windows portable auto-update from Forgejo continuous releases.
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>
2026-11-12 12:29:49 +01:00

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-latest MSVC). Must stay private.
  • Tower desktop-release runs 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.