P20: Gitea Actions — native CI on existing infrastructure
Add gitea as a CI backend alongside woodpecker and github. Leverages Gitea Actions (GitHub Actions-compatible YAML) running on existing infrastructure.
Closeout
All 7 issues closed. Added [ci.gitea] section to stack.toml with runner and registry auth configuration. Implemented backends/gitea.py with emit() generating .gitea/workflows/ YAML. Deployed act_runner alongside Gitea in compose.yml for native CI execution. gen_config stale cleanup handles .gitea/workflows/ directory. Registry auth uses PAT instead of GITEA_TOKEN for broader compatibility. Generated Gitea workflows validated with yamllint in CI. Default ci.backend switched from woodpecker to gitea — the primary CI backend is now Gitea Actions running on existing infrastructure with no external dependency.
Issues resolved
- #151 — [ci.gitea] section in stack.toml
- #152 — backends/gitea.py emit() implementation
- #153 — act_runner deployed alongside Gitea in compose.yml
- #154 — Stale cleanup for .gitea/workflows/
- #155 — Registry auth with PAT
- #156 — yamllint validation for generated workflows
- #157 — Default ci.backend switched to gitea
Residual
None.