infinipaint/docs/windows-runner.md

48 lines
1.7 KiB
Markdown
Raw Normal View History

# Windows continuous release (GitHub Actions as private builder)
Native InfiniPaint Windows builds need **MSVC** (see `docs/BUILDING.md` +
`windowsinstall/`). There is no Linux cross-build path.
Policy: **Forgejo is the public fork**; GitHub is only a **private** mirror used
to run `windows-latest` CI. Friends download the zip from Forgejo — not GitHub.
## Public download (friends)
https://forgejo.fsociety00.cc/copilot/infinipaint/releases/tag/windows-continuous
Portable zip → extract → run `infinipaint.exe`.
## Workflow
File: `.github/workflows/windows_release.yml`
| | |
|---|---|
| Trigger | every push to `main` on the private GitHub mirror, plus `workflow_dispatch` |
| Runner | `windows-latest` (GitHub-hosted, MSVC ~195 / VS 18) |
| Build | Conan profile `win-ci` + **Ninja** (avoids CMake<4 vs `Visual Studio 18 2026`) |
| Output | public Forgejo prerelease **`windows-continuous`** (+ private GitHub copy) |
Required GitHub Actions secret: `FORGEJO_TOKEN` (Forgejo PAT with release write on
`copilot/infinipaint`).
Local Tower Windows can keep using `windowsinstall/conan_init_x86_64.bat`
(`conan/profiles/win-x86_64`, MSVC 194). CI generates a `win-ci` profile for
whatever MSVC `windows-latest` ships.
## GitHub remote (private builder)
```bash
git remote add github https://github.com/littlecodedragon/infinipaint.git
git push -u github main
```
Keep the repo **private** (Settings → Change visibility, or
`gh repo edit littlecodedragon/infinipaint --visibility private`).
## Forgejo note
`.forgejo/workflows/windows_release.yml` still targets a self-hosted
`windows-release` runner (optional). Primary public zips come from the GitHub
builder → Forgejo release upload above.