Antlers (frontend) — operations runbook
Surface: Antlers (Raxx customer-facing frontend — frontend/trademaster_ui/)
Deploy target: Cloudflare Pages project raxx-app
Workflow: .github/workflows/deploy-antlers.yml
Deploy failed with CF 500
Symptom: deploy-antlers CI job fails at the "Publish Antlers to Cloudflare Pages" step with a Cloudflare API 500 response. The cloudflare-retry action emits ::warning:: attempt N failed — retrying lines and ultimately ::error:: failed after 5 attempts.
Root cause: Transient CF Pages asset upload API degradation. As of 2026-05-22 (RCA: docs/incidents/2026-05-22-signup-flow-double-p1.md), a ~10-min CF degradation window exhausted the previous 3-attempt retry window.
Resolution steps:
- Check cloudflarestatus.com — confirm CF Pages is degraded, not a token or config issue.
- If CF is actively degraded, wait for the CF incident to resolve (typically 10–20 min), then re-trigger the deploy manually:
- Go to Actions → Deploy Antlers in the GitHub UI.
- Click Run workflow → select
mainbranch → Run workflow. - No code change or no-op commit needed —workflow_dispatchis available for exactly this scenario. - If CF shows green but the deploy still fails, check for token expiry:
- Vault path:
/MooseQuest/cloudflare/keyCF_PAGES_DEPLOY. - Rotate via Velvet or Infisical UI, then re-trigger viaworkflow_dispatch. - If the deploy succeeds on manual re-trigger, verify the live site:
- Staging:
https://raxx-app.pages.dev- Production (tag-triggered):https://raxx.app
Retry budget (current): 5 attempts, initial delay 15s doubling each round (15→30→60→120s). Total sleep ≈ 225s; total window including deploy time ≈ 5.5 min. Increased from 3 attempts per #2715.
Manual deploy (workflow_dispatch)
Use when a code-free re-deploy is needed — e.g. after a CF degradation clears, or when a flag value baked into the bundle needs refreshing without a frontend code change.
- Navigate to Actions → Deploy Antlers in the GitHub repository.
- Click Run workflow.
- Select branch
main(or a tag for a production release). - Click Run workflow.
The workflow runs the full build + deploy pipeline, same as a push-triggered run. The REACT_APP_FLAGS value is baked in from the workflow file at the time of the run.
Relevant files
| File | Purpose |
|---|---|
.github/workflows/deploy-antlers.yml |
Main deploy workflow (push + workflow_dispatch) |
.github/actions/cloudflare-retry/ |
Retry action used for CF Pages publish step |
frontend/trademaster_ui/ |
Antlers source |
docs/incidents/2026-05-22-signup-flow-double-p1.md |
RCA that prompted retry hardening (#2715) |