Mina Sameh — Software Engineer (React Native, TypeScript, AI)

Mina Sameh

CI/CD That Actually Works

How we set up EAS Build + GitHub Actions for zero-touch deploys to both app stores.

·

Manual deploys are bugs waiting to happen. Here's the CI/CD pipeline we built for WlthyWise that made releases boring (in the best way).

The stack:

  • GitHub Actions for orchestration
  • EAS Build for native compilation
  • EAS Submit for store uploads
  • CodePush for OTA JS updates

The flow:

  1. PR merged to main → triggers build
  2. E2E tests run on Detox
  3. EAS builds iOS + Android in parallel
  4. Internal testers get builds via TestFlight / Internal Track
  5. Tag a release → auto-submit to stores

For JS-only changes, CodePush bypasses the full build cycle entirely. This means bug fixes reach users in minutes, not days.

The game changer: separating "native changes" from "JS changes" in your commit history. We use conventional commits + a script that checks if native/ folders were modified. No native changes? CodePush. Native changes? Full EAS build.

Result: deploy frequency went from weekly to multiple times daily.