Dec 7, 2023 by
Stanisław Chmiela
At Expo we care about speed. Speed of iteration, speed of development, speed of the app, and also the speed of your app's builds. For example, here are a few of the mechanisms we use to speed up your builds on EAS Build:
…but we’re always searching for ways to get faster…
The CocoaPods cache server is good, but what if we could serve Pods from the local filesystem rather than the network?
In the first half of November we added “warm” CocoaPods cache to every Mac VM image. It includes popular remote Pods that your app may need.
The cache is created by building several different reference Expo apps on a single worker and uploading the resulting ~/Library/Caches/CocoaPods
to the cloud. When building VM templates we include that directory in the resulting image, so your builds run faster and don't rely on the network.
In total the cache comes close to 5 GB and saves, on average, a minute from your iOS build time. For a blank new app this means “Install Pods” took 1:37 before and now it takes a whopping 12 seconds.
Another way you could speed up your builds is custom caching. By configuring cache
property in eas.json, you can tell EAS which directories you would like to be automatically saved and restored. Read more at “Custom Caching”.
Stanisław Chmiela for implementing this feature
Szymon Dziedzic for the initial spark of inspiration, feedback and code reviews
Mike Hampton for solution suggestions, code reviews and feedback