Skip to main content

Vertex — delivery pipeline

A single manual workflow in thetaxgraph-ai/ttg-infra releases to stage or prod. It builds from an exact commit of thetaxgraph-ai/vertex; nothing in the vendor repository can trigger it.

Delivery pipeline

Operator commands

# Stage: latest develop
gh workflow run vertex-deploy.yml -R thetaxgraph-ai/ttg-infra -f env=stage

# Prod: a reviewed commit (full 40-character SHA)
SHA=$(git -C ~/projects/vertex rev-parse origin/main)
gh workflow run vertex-deploy.yml -R thetaxgraph-ai/ttg-infra -f env=prod -f sha=$SHA -f target=all
gh run watch -R thetaxgraph-ai/ttg-infra

# Stage on / off
gh workflow run stage-power.yml -R thetaxgraph-ai/ttg-infra -f state=on # or off

The same workflows can be started from GitHub → ttg-infraActionsRun workflow. target is all, backend or console.

Steps

#StepDetail
1TriggerOperator runs vertex-deploy.yml with env, sha, target
2Validateprod requires a full SHA; sanity check that it is on vertex main
3Checkoutvertex @ SHA with a read-only token, plus ttg-infra config
4Buildcore, identitylinux/amd64
5Pushghcr.io/thetaxgraph-ai/vertex-<env>-{core,identity}:<sha>
6Assume roleGitHub OIDC → vertex-<env>-deploy
7Rolling updateNew task definition revision → ecs update-service → Alembic on start → health checks → old task stops; automatic rollback if unhealthy; workflow waits for services-stable
8Build consolenpm ci && npm run build in vertex/console
9Deploy Workerwrangler deploy --env <env> --message <sha> with the per-Worker token
10VerifySmoke test through the hostname; run summary with links

Rollback and observability

ConcernControl
Failed backend releaseECS deployment circuit breaker rolls back automatically; or re-run with the previous SHA
Bad console releasewrangler rollback, or re-run with the previous SHA
Database migrationsForward-only and backward-compatible — old and new tasks overlap briefly during a rolling deploy
Where to watchActions run log · ECS → service → Deployments/Events · CloudWatch Logs /vertex/<env>/* · Worker → Deployments (message = SHA)

GitHub Actions budget

The organisation is on GitHub Free: 2,000 Actions minutes per month shared by all private repositories; usage is blocked once exhausted (no payment method). Deployments only run when triggered manually, so the vendor cannot consume minutes through ttg-infra.