Files
nuzlocke-tracker/.beans/nuzlocke-tracker-jlzs--implement-gitea-actions-cicd-pipeline.md
Julian Tabel 66bd1a421f Update deployment docs, complete Deployment Strategy epic
Rewrite DEPLOYMENT.md to reflect current state (CI/CD, backups, merge
strategy). Expand CI paths-ignore to skip docs, license, gitignore,
and deploy workflow changes. Add merge strategy to CLAUDE.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 12:38:34 +01:00

2.1 KiB

title, status, type, priority, created_at, updated_at, parent
title status type priority created_at updated_at parent
Implement Gitea Actions CI/CD pipeline completed task normal 2026-02-10T09:38:15Z 2026-02-10T11:34:52Z nuzlocke-tracker-ahza

Set up Gitea Actions as the CI/CD pipeline for the nuzlocke-tracker. Gitea Actions uses the same syntax as GitHub Actions, making it portable if the project goes public on GitHub later.

Context

  • Gitea is already running on Unraid behind Nginx Proxy Manager (gitea.nerdboden.de)
  • Images are currently built locally and pushed to the Gitea container registry via deploy.sh
  • A Gitea Actions runner is already deployed on Unraid and connected to the Gitea instance
  • The workflow syntax is compatible with GitHub Actions, so the same .github/workflows/ files work on both platforms

Checklist

  • Enable Gitea Actions on the Gitea instance — Actions feature is enabled and runner is connected
  • Set up a Gitea Actions runneract_runner is deployed on Unraid and registered with Gitea
  • Create CI workflow (.github/workflows/ci.yml) — on push to develop and PRs: run ruff check + ruff format --check for backend, eslint + tsc for frontend. Tests can be added later when they exist.
  • Create deploy workflow (.github/workflows/deploy.yml) — triggered via workflow_dispatch on main: build Docker images (linux/amd64), push to the Gitea container registry, deploy to Unraid via SSH (docker compose pull && docker compose up -d)
  • Configure secrets in Gitea — generate a new SSH keypair, add the public key to Unraid root user's authorized_keys, add the private key as a Gitea repo secret (DEPLOY_SSH_KEY). Also add any registry credentials or other sensitive values the workflows need.
  • Test the full pipeline — push a change through feature/*develop (verify CI runs), then merge developmain and trigger the deploy workflow via workflow_dispatch to verify end-to-end
  • Update deployment docs — document the Gitea Actions setup, how to manage the runner, and how CI/CD fits into the deployment workflow