release automation: gitea actions build every push and publish tagged releases (version from the tag, packages, sha256sums, changelog section as text), simple 5-step install guide in the readme
This commit is contained in:
1 parent
f5fd411592
commit
a64df88c77
7 files changed
+262
-9
No files matched your search
@@ -84,3 +84,25 @@ Maintenance notes: [notes/editor-manual.md](../notes/editor-manual.md).
|
||||
[`notes/`](../notes/README.md) is the project's lab notebook: one file per format, editor area and
|
||||
mod, with addresses in `groove.exe`, confidence levels, what was verified in the game and known
|
||||
limits. Process material (agent briefs, review reports) is in [`notes/dev/`](../notes/dev/).
|
||||
|
||||
## Releasing
|
||||
|
||||
Releases are built by Gitea Actions ([.gitea/workflows/release.yml](../.gitea/workflows/release.yml)):
|
||||
|
||||
1. Add a `## <version> – …` section at the top of [CHANGELOG.md](../CHANGELOG.md) (it becomes the
|
||||
release text; the workflow fails if it is missing).
|
||||
2. `git tag v<version> && git push origin v<version>`
|
||||
|
||||
The workflow builds and tests (tests that need the game CD skip themselves on the runner), runs
|
||||
`packageAll` with `-PreleaseVersion=<version>` (the tag decides the version; without it
|
||||
`build.gradle`'s default is used), writes `SHA256SUMS.txt` and creates the release with the four
|
||||
packages via [tools/release/publish_gitea.py](../tools/release/publish_gitea.py) (standard library
|
||||
only; re-running replaces files of the same name). [.gitea/workflows/build.yml](../.gitea/workflows/build.yml)
|
||||
builds every push.
|
||||
|
||||
Requirements on the Gitea side: Actions enabled (`[actions] ENABLED = true`), an `act_runner` with
|
||||
the label `ubuntu-latest` (an image with `python3`, `curl`/network access – the build downloads the
|
||||
Temurin JDK/jmods and launch4j), and an attachment size limit above ~60 MB (`[attachment] MAX_SIZE`
|
||||
in `app.ini`). If the built-in token may not create releases, add a repository secret
|
||||
`RELEASE_TOKEN` with write access. Locally the same packages come from
|
||||
`./gradlew -PreleaseVersion=<version> packageAll` (output in `build/dist`).
|
||||
Reference in new issue
Block a user