Use Expo, Ship faster: How Infinite Red ships 230% faster with Expo
Article Summary
Tyler Williams from Infinite Red just cut CI/CD time by 230% using a clever combination of Expo tools. The secret? Stop rebuilding native code when you don't need to.
This guest post breaks down how Infinite Red engineered a faster React Native CI/CD pipeline by combining EAS Workflows, Expo Fingerprint, and EAS Updates. The approach lets teams run end-to-end Maestro tests on every PR without waiting 20+ minutes for native builds each time.
Key Takeaways
- Reduced CI time from 20 minutes to 6 minutes (70% faster)
- Uses fingerprinting to detect when native code actually changed
- Reuses dev builds and deploys JS-only changes via EAS Update
- Runs full E2E tests on every PR without native build delays
- Works by deep-linking into EAS Update previews on existing builds
By fingerprinting native dependencies and reusing development builds, teams can run comprehensive E2E tests in 6 minutes instead of 20+ minutes per platform.
About This Article
React Native teams lose 10-20 minutes per platform on native builds during CI/CD when only JavaScript code changes. This slows down PR reviews and makes teams less confident about testing frequently.
Infinite Red used EAS Workflows' fingerprint job to detect native changes, Expo Development Builds for reusable binaries, and EAS Update's deep-linking. This lets teams preview JavaScript-only changes without rebuilding native code.
The CI/CD pipeline went from 20+ minutes down to 6 minutes when native code hasn't changed. Now Maestro E2E tests run on every PR instead of just main branch commits.