Skip to content

CI/CD

Purpose

Exactly what runs automatically, verified directly against .github/workflows/ci.yml and .github/workflows/deploy-cloudflare.yml - not the README's now-stale "deployment is manual" claim.

The real current state (verified, not assumed)

Production deployment is automatic, not manual, for every active app. ci.yml's deploy-production job runs on every push to main that passes validate. The root README.md's previous "Cloudflare deployment ... is intentionally manual until repository secrets are configured" described an earlier state of this repository; the README has since been corrected to describe the automatic pipeline. See Deployment "Verifying whether the README's claim still holds" for the exact evidence.

Two workflows

ci.yml deploy-cloudflare.yml
Trigger push/pull_request to main, workflow_dispatch workflow_dispatch only
Deploys automatically? Yes (on push to main only) No - manual dispatch always
Apps covered Corporate, Software, Logistics, Commerce, Embroidery, Admin + API (not Investors) Corporate, Software, Logistics, Commerce, Embroidery, Admin, Investors + API (all active apps, plus the pre-existing Investors entry)
Runs smoke test? Yes No
Concurrency group akshaya-production akshaya-production (same group - can't race each other)

As of fix/platform-hardening, coverage is aligned for every active app (Corporate, Software, Logistics, Commerce, Embroidery, Admin, API) across both workflows. Investors is the one deliberate asymmetry left: it's currently excluded / inactive for the active platform, so it's intentionally absent from ci.yml's automatic path and the smoke test, while its pre-existing manual-only entry in deploy-cloudflare.yml was left untouched rather than silently removed - see Deployment for the full detail.

Pages in this section

  • CI - the validate job in full.
  • Deployment - both deploy paths, in full, including the coverage gaps.
  • Secrets - GitHub Actions secrets vs. Cloudflare Worker secrets.