Expo Tyler Williams Apr 4, 2025

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

Critical Insight

By fingerprinting native dependencies and reusing development builds, teams can run comprehensive E2E tests in 6 minutes instead of 20+ minutes per platform.

The workflow file that makes this possible is surprisingly straightforward, but there are two important tradeoffs you should know about before implementing.

About This Article

Problem

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.

Solution

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.

Impact

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.