.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.
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)
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>
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 main2026-06-03 12:04:19 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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 therespellion-linuxlabel, documents co-locatingact_runneron the Gitea server (host mode), prerequisites, and a security note.Verified locally:
dotnet format --verify-no-changes,dotnet build -c Release,dotnet test -c Releaseall 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 #30rather than closing it; #30 stays open until arespellion-linuxrunner is connected and the run is verified green.🤖 Generated with Claude Code
make cigate (refs #30)