Raxx · internal docs

internal · gated

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:

  1. Check cloudflarestatus.com — confirm CF Pages is degraded, not a token or config issue.
  2. 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 main branch → Run workflow. - No code change or no-op commit needed — workflow_dispatch is available for exactly this scenario.
  3. If CF shows green but the deploy still fails, check for token expiry: - Vault path: /MooseQuest/cloudflare/ key CF_PAGES_DEPLOY. - Rotate via Velvet or Infisical UI, then re-trigger via workflow_dispatch.
  4. 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.

  1. Navigate to Actions → Deploy Antlers in the GitHub repository.
  2. Click Run workflow.
  3. Select branch main (or a tag for a production release).
  4. 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)