c0ae1961bf
.gitea/workflows/release.yml runs on the self-hosted Windows runner when a v* tag is pushed (or via workflow_dispatch with a version override for testing without bumping the project). Mirrors the GitHub release workflow shape - dotnet test, choco-install Inno Setup if missing, run scripts/build-installer.ps1 - then uses Gitea's REST API directly for the release-creation + asset-upload steps (Gitea has no equivalent to softprops/action-gh-release). Token is the runner-injected secrets.GITHUB_TOKEN, which Gitea provides for GitHub Actions compatibility. Path location matters: lives under .gitea/ so GitHub Actions never sees it, while the existing .github/workflows/release.yml stays GitHub-only (already gated with `if: github.server_url == ...`). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>