Files
proxmox/config/gitea-workflow-templates
defiQUG 377369a5be
Some checks failed
Deploy to Phoenix / deploy (push) Has been skipped
Deploy to Phoenix / deploy-atomic-swap-dapp (push) Has been skipped
Deploy to Phoenix / cloudflare (push) Has been skipped
Deploy to Phoenix / validate (push) Failing after 2s
feat(gitea-phoenix): gov runtime, deploy/template parity, workflow dedupe docs
- Add gov-portals-runtime.v1.json + schema; jq gate in validate-config-files
- Python: parity-deploy-targets, parity-operational-template (IP strict, hostname WARN),
  parity-gov-portals-runtime; validate-vm-routing-parity.sh wrapper
- check-gov-portal-workflow-canonical-strings.sh for monorepo Pattern A
- PORTAL_WORKFLOW_PARITY.md; template headers; repos README; operator checklist secrets
- report-gitea-cd-parity runs full VM routing parity; task doc marked complete
- GOV_PORTALS_XOM_DEV + GITEA_GOV + MASTER_INDEX + matrix doc cross-links

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-12 15:55:50 -07:00
..

Gitea Actions workflow templates

Copy one of these into your repo as .gitea/workflows/<workflow-name>.yml, then set repo Secrets in Gitea (PHOENIX_DEPLOY_URL, PHOENIX_DEPLOY_TOKEN, and GITEA_TOKEN when the workflow clones gov-portals-monorepo for portal CI).

Template Use when
deploy-via-phoenix-api.yml App/service with a row in phoenix-deploy-api/deploy-targets.json
validate-only.yml Libraries/docs — CI gate only, no VM deploy
repos/ Concrete YAML for DBIS, CROMERO, CurrenciCombo — copy into those Gitea repos

See docs/04-configuration/GITEA_REPO_VM_CD_CI_MATRIX.md for repo ↔ VM mapping.

Operator checklist: docs/00-meta/GITEA_CD_OPERATOR_CHECKLIST.md.

Postgres / Prisma in Actions (self-hosted act_runner)

When a workflow declares services: postgres: (GitHub Actions style):

  1. DATABASE_URL (and Prisma) should use host postgres (the service id), not 127.0.0.1 / localhost — the job runs in Docker on the runner.
  2. Runners managed from this repo must keep container.network empty in config/gitea-act-runner/config-*.yaml so act_runner creates a per-job network. See docs/04-configuration/GITEA_ACT_RUNNER_SETUP.md troubleshooting (P1001).

Examples in this monorepo: the-order/.github/workflows/ci.yml, dbis_core/.github/workflows/ci.yml. Copy the same pattern into other Gitea repos (e.g. treasury / DealFlow) that run migrations in CI.

If you install Postgres inside the job container (e.g. apt-get install postgresql + 127.0.0.1), avoid PostgreSQLs anonymous dollar-quote DO $$ ... $$ inside bash double-quoted run: lines — $$ is the shell PID. Prefer a pg_roles existence check + plain CREATE ROLE, or use a $tag$ ... $tag$ block inside a single-quoted heredoc so bash never expands dollars.