P20: Gitea Actions — native CI on existing infrastructure

New Issue

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.

No due date
100% Completed