Skip to main content

Deployment

The web app has the complete pipeline: develop and main each deploy automatically to the Cloudflare Pages project emaw-react-web-app.

BranchWorkflowBuildURL
develop.github/workflows/deploy-develop.ymlnpm ci, npx vite build --mode development with NODE_ENV=production, npx wrangler@4 pages deploy dist --project-name emaw-react-web-app --branch develophttps://develop-web-app.everymanawarrior.cc
main.github/workflows/deploy-production.ymlnpm ci, npx vite build, … --branch mainhttps://app.everymanawarrior.cc
  • Node 24, cache: npm.
  • --mode development only selects .env.development; NODE_ENV=production keeps it a minified production bundle.
  • Develop deploys cancel an older in-progress run; production deploys are queued.
  • Secrets CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID on the develop and production GitHub environments; the production environment only accepts deployments from main.

This is the pattern the documentation site copies and the one the website and Admin CRM should adopt for production.

Manual deploy​

npx wrangler login
npx vite build --mode development
npx wrangler pages deploy dist --project-name emaw-react-web-app --branch develop

Checklist before a production release​

  • Backend changes it depends on are live on app.emaw-app.com
  • .env.production points at https://app.emaw-app.com/ and the production website
  • Hand-off tested on dev end to end
  • Merge develop → main; watch the Actions run; open https://app.everymanawarrior.cc and sign in