# Forgejo Actions Workflow Templates Date: 2026-07-04 Owner: `railiance-enablement` (S4) Workplans: `RAIL-HO-WP-0005-T08`, `CUST-WP-0054-T04` ## Purpose Canonical, copy-ready Forgejo Actions workflows for the railiance01 runner substrate (`railiance01-build-01`, ADR-004). Forgejo/Gitea Actions on our runners do **not** support `actions/checkout@v4` on the non-root host runner; use **archive checkout** via `wget` instead. Templates live in `workflows/` at repo root. Consumer repos copy into `.forgejo/workflows/` and adjust `IMAGE_NAME` / `EXTRA_REPOS` as needed. ## Runner labels | Label | Use | | --- | --- | | `self-hosted` | Host runner routing smoke, lightweight probes | | `ubuntu-latest` | Container-isolated smoke (label routing) | | `container-build` | DinD image build + registry push | Org secrets (set on `coulomb` org): `REGISTRY_USER`, `REGISTRY_TOKEN`. ## Templates | File | Tier | When to use | | --- | ---: | --- | | `workflows/ci-smoke.yaml` | 1 | Git+CI routing drill; infra/docs repos | | `workflows/container-build-push.yaml` | 2 | Single-repo `Dockerfile` image publish | | `workflows/container-build-push-multirepo.yaml` | 3 prep | Docker build with named contexts (e.g. `state-hub` + `hub-core`) | ## Adoption ```bash mkdir -p .forgejo/workflows cp /path/to/railiance-enablement/workflows/ci-smoke.yaml .forgejo/workflows/ # For images: cp /path/to/railiance-enablement/workflows/container-build-push.yaml .forgejo/workflows/image.yaml # Edit IMAGE_NAME=coulomb/ git add .forgejo/workflows && git commit -m "Add Forgejo CI from enablement templates" git push origin main ``` ## Proven consumers | Repo | Template | Evidence | | --- | --- | --- | | `coulomb/glas-harness` | `ci-smoke` (in-repo) | Tier 1 pilot | | `coulomb/key-cape` | `container-build-push` (in-repo) | Tier 2 pilot | | `coulomb/railiance-*` | `ci-smoke` | Tier 2.5 promotion (2026-07-04) | ## Constraints - Do not use `actions/checkout@v4` on `self-hosted` / `container-build` runners. - Static `docker` binary via wget; runner image is non-root and cannot `apk add`. - Reusable `workflow_call` across repos is not relied on; copy templates instead. - Runner substrate and labels: `railiance-forge/docs/ci-runner-actions-gitops-ownership.md`. ## References - `the-custodian/docs/forgejo-repo-migration-pilot-glas-harness.md` - `railiance-apps/docs/forgejo-on-railiance01.md` - `docs/adr/ADR-004-forgejo-in-cluster-actions-runner.md` (in `railiance-infra`)