CI runs ruff and eslint/tsc on push to develop and PRs. Deploy workflow is manual (workflow_dispatch) and builds, pushes, and deploys images to Unraid via SSH. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.1 KiB
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 | in-progress | task | normal | 2026-02-10T09:38:15Z | 2026-02-10T11:12:32Z | 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 runner —
act_runneris deployed on Unraid and registered with Gitea - Create CI workflow (
.github/workflows/ci.yml) — on push todevelopand PRs: runruff check+ruff format --checkfor backend,eslint+tscfor frontend. Tests can be added later when they exist. - Create deploy workflow (
.github/workflows/deploy.yml) — triggered viaworkflow_dispatchonmain: 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 mergedevelop→mainand trigger the deploy workflow viaworkflow_dispatchto 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