ci: Gitea Actions pipeline + runner runbook (refs #30) #37

Merged
eho merged 2 commits from feat/30-gitea-actions-ci into main 2026-06-03 12:04:19 +00:00
Owner

Implements the authoring part of S-00-c (#30).

  • .gitea/workflows/ci.yaml — jobs lint / build / unit / compose-smoke, runs-on: respellion-linux, uses: pinned to absolute tagged URLs (§8.7/§15).
  • docs/runbooks/ci.md — declares the respellion-linux label, documents co-locating act_runner on the Gitea server (host mode), prerequisites, and a security note.

Verified locally: dotnet format --verify-no-changes, dotnet build -c Release, dotnet test -c Release all pass; compose-smoke proven in S-00-b.

⚠️ Pipeline green is deferred — there is no registered runner yet (repo/user runners = 0). This PR refs #30 rather than closing it; #30 stays open until a respellion-linux runner is connected and the run is verified green.

🤖 Generated with Claude Code

Implements the authoring part of **S-00-c** (#30). - `.gitea/workflows/ci.yaml` — jobs **lint / build / unit / compose-smoke**, `runs-on: respellion-linux`, `uses:` pinned to absolute tagged URLs (§8.7/§15). - `docs/runbooks/ci.md` — declares the `respellion-linux` label, documents co-locating `act_runner` on the Gitea server (host mode), prerequisites, and a security note. **Verified locally:** `dotnet format --verify-no-changes`, `dotnet build -c Release`, `dotnet test -c Release` all pass; compose-smoke proven in S-00-b. ⚠️ **Pipeline green is deferred** — there is no registered runner yet (repo/user runners = 0). This PR `refs #30` rather than closing it; **#30 stays open** until a `respellion-linux` runner is connected and the run is verified green. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
eho added 1 commit 2026-06-03 11:57:21 +00:00
ci: add Gitea Actions pipeline + runner runbook (refs #30)
Some checks failed
CI / lint (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / unit (pull_request) Has been cancelled
CI / compose-smoke (pull_request) Has been cancelled
efbc6c43e3
Add .gitea/workflows/ci.yaml with lint, build, unit, and compose-smoke
jobs on runs-on: respellion-linux; uses: pinned to absolute tagged URLs
(§8.7/§15). Document the runner in docs/runbooks/ci.md: the respellion-
linux label, co-locating act_runner on the Gitea server in host mode,
prerequisites, and a security note.

The lint/build/unit/compose commands are verified locally. End-to-end
"pipeline green" is deferred until a runner is registered, so this refs
(does not close) #30; the issue stays open until CI runs green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
eho added 1 commit 2026-06-03 12:03:49 +00:00
ci: drive pipeline via make targets + local make ci gate (refs #30)
Some checks failed
CI / lint (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / unit (pull_request) Has been cancelled
CI / compose-smoke (pull_request) Has been cancelled
f666d02594
Add a root Makefile (lint/build/unit/smoke/ci) as the single source of
truth for the checks, and have each Gitea Actions job call the matching
make target so local and CI cannot drift. `make ci` runs the full
pipeline locally — the interim gate while no runner is registered.

The smoke target auto-points DOCKER_HOST at the rootless Podman socket
when present (and DOCKER_HOST is unset), leaving Docker/CI hosts alone.
Document `make ci` and the Podman prerequisites in docs/runbooks/ci.md.

Verified: `make ci` is green locally (lint, build, unit, container smoke).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
eho merged commit d4a89e6e62 into main 2026-06-03 12:04:19 +00:00
Sign in to join this conversation.