Consolidate Gitea CI into one event-routed workflow

This commit is contained in:
NeilClack
2026-09-11 19:14:58 -05:00
parent f37beaf07e
commit 21f13c6cd5
3 changed files with 59 additions and 106 deletions
+7 -4
View File
@@ -225,13 +225,16 @@ cached.
- Do not modify files in `archive/` — reference only.
- Build needs SDL3 + SDL3_ttf/image/mixer/net + GTest installed; CI uses
Gitea Actions on a self-hosted host runner (`build-server`, no docker).
The workflow lives in `.gitea/workflows/build.yml` and is **manual-only**
(`workflow_dispatch`); pick the branch when dispatching. It runs
The single workflow `.gitea/workflows/build.yml` has two triggers:
**`workflow_dispatch`** always builds the `dev` branch and publishes the dev
cache/manifest, and a **tag push** (`tags: ['*']`) builds the tag and
publishes the release cache/manifest. The event name routes the steps
(`github.event_name`). It runs
`nix build -L .#checks.<system>.default` (build + the offline test suite;
`checks` is keyed per-system, so the workflow resolves the current system
via `nix eval --impure --expr 'builtins.currentSystem'`). The build bakes
in a per-branch `APP_VERSION` — the current git tag on `main`, the current
commit hash on `dev`. The flake reads `APP_VERSION` from the environment via
in an `APP_VERSION` — the short commit hash on a manual dev run, the current
git tag on a tag push. The flake reads `APP_VERSION` from the environment via
`builtins.getEnv`, so the build must pass `--impure` (pure evals get the
package defaults). The live portal tests run from `nix develop` when the
`RWT_LIVE_*` secrets are set and need `RWT_LIVE_ACCOUNT_EMAIL`,