Skip to main content

πŸ“± Mobile Deployment - Quick Reference (Current)

OTA updates (GitHub Actions)​

  • Merge to beta β†’ publishes eas update --branch beta
  • Merge to alpha β†’ publishes eas update --branch alpha
  • Merge to main β†’ publishes eas update --branch production

Skip OTA publish: include [no deploy] in the commit message.

Local Android emulator launch​

Use the Android-specific local scripts when running the mobile app against the local API from an emulator.

Terminal 1:

cd attunelogic-mobile/attunelogic-mobile
npm run start:android

Terminal 2:

cd attunelogic-mobile/attunelogic-mobile
npm run android

One-command local native build​

cd attunelogic-mobile/attunelogic-mobile
npm run dev-build:local:android

What these scripts do​

  • npm run start:android
    • switches to env:android
    • starts Expo dev client Metro with cache clear
    • prevents Expo dotenv auto-merging from overriding the generated Android env
  • npm run android
    • runs the native Android build/install flow
  • npm run dev-build:local:android
    • combines env:android with expo run:android

Important​

Do not use npm start for Android emulator work. That script switches the app back to env:local, which points the API to localhost instead of the Android emulator host.

Expected Android API URL:

API_URL=http://10.0.2.2:8080/api/v1

Native builds (local)​

Trigger builds by pushing a build/* branch (local pre-push hook queues EAS build):

git checkout -b build/beta
git push origin build/beta

git checkout -b build/alpha
git push origin build/alpha

git checkout -b build/production
git push origin build/production

Skip the hook:

SKIP_EAS_PREPUSH=1 git push

Required GitHub Secret​

  • EXPO_TOKEN

Versioning​

Run only when preparing a native build:

npm run release
# or:
npm run release:patch
npm run release:minor
npm run release:major