# Internal Beta Distribution Runbook Date: `2026-02-03` Audience: Engineering / Release owners ## Preconditions - Mobile app configured (`ee/mobile/app.json`, `ee/mobile/eas.json`). - Expo/EAS access: - Repository secret: `EXPO_TOKEN` (for CI distribution) - Correct Apple/Google store credentials configured in EAS (outside this repo) - Mobile auth enabled on the target hosted environment (see `MOBILE_AUTH_CONFIG.md`). ## Build + distribute (recommended: GitHub Actions) Workflow: `.github/workflows/mobile-distribute.yml` 1) Trigger workflow manually (select branch + platform profile). 2) Verify build completes and artifacts are available in EAS. 3) For iOS: confirm TestFlight processing completes and testers can install. 4) For Android: confirm Internal Testing track has the new build and testers can install. ## Manual fallback (local) From `ee/mobile/`: 1) `npm ci` 2) `npx eas login` 3) Build: - iOS: `npx eas build -p ios --profile testflight` - Android: `npx eas build -p android --profile playInternal` 4) Submit (if configured): - iOS: `npx eas submit -p ios --profile testflight` - Android: `npx eas submit -p android --profile playInternal` ## Smoke checklist - Sign in via web SSO → deep link back → lands on Tickets list. - Ticket list loads + search works. - Open ticket → post internal comment → shows as internal. - Change status → reflected in header and list. - Logout revokes session and returns to Sign In.