Expo streamlines Hipcamp’s native builds and OTA updates
Key Points
- 6x faster native builds with EAS
- expo-fingerprint enables safe OTA detection
- CI automates builds, Sentry uploads, and Slack releases
Summary
Hipcamp replaced App Center with Expo (EAS Builds + Expo Updates) to get consistent, fast native builds and reliable over-the-air updates. Build times dropped from ~60 minutes to ~10 minutes, and automated CI/CD plus fingerprinting enabled safe, web-like daily OTA deployments.
Key Points
- Build performance: EAS reduced iOS/Android build times ~6x and removed frequent timeouts.
- Build automation: custom yarn command + EAS workflows trigger environment-aware builds, submit iOS to TestFlight, and post detailed Slack notifications (TestFlight number, APK link, Sentry filters).
- OTA strategy: maintain a release branch, cherry-pick eligible commits, and deploy via Expo Updates instead of frequent store submissions.
- OTA eligibility: use expo-fingerprint to detect native dependency changes; matching fingerprints allow safe OTA deployments.
- CI/CD integration: pipeline triggers OTA uploads, publishes Sentry sourcemaps, creates releases with update IDs, and updates GitHub releases/tags with links to Expo and Sentry.
- Operational impact: fewer app store releases, faster incident response and rollbacks, and reduced friction for QA/product/design review.
Practical takeaways for engineers
- Adopt EAS Builds for faster, more reliable native CI; simplify with a small wrapper script to prompt env/type/message.
- Add expo-fingerprint into your CI to gate OTA vs native releases automatically.
- Automate release-side effects: Sentry sourcemaps, update IDs, Slack notifications, and GitHub release links to keep teams aligned.
- Expect organizational benefits: shorter feedback loops, less emergency native work, and web-like deployment cadence for mobile.