-
ci: build, package and publish releases from a tag
Some checks failedrelease / build (push) Has been cancelledreleased this
2026-08-03 08:51:53 +08:00 Adds .gitea/workflows/release.yml: a v* tag builds, packages and publishes;
workflow_dispatch builds and uploads an artifact without creating a release,
so the pipeline can be exercised without burning a tag.The zip mirrors the game directory (xinput1_3.dll + gakumas-mod\config.json
- README.txt) so it extracts into the game root. It has to be a zip: .dll is
not in this Gitea's attachment allowlist.
The real work is in tools/package.ps1 and tools/publish-release.ps1 rather
than the YAML, for two reasons. A release must be reproducible without a
runner -- this project needs a Windows one and there may not be any yet --
and quoting a JSON body plus a multipart upload through YAML -> PowerShell
-> curl is where a step like this usually breaks.GKMS_VERSION is now stamped into the DLL and printed by the [BOOT] line, so
a shipped build can name itself. The docs have been identifying builds by
SHA-256 because there was nothing else to go on.Verified locally: package.ps1 -Version v0.1.0 runs generate, MSBuild, the
offline tests and produces dist\gakumas-mod-runtime-0.1.0.zip with the three
expected entries; "v0.1.0" is in the binary and "dev" is not.Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Downloads
- README.txt) so it extracts into the game root. It has to be a zip: .dll is