Edit this page
Learn about the current build server infrastructure when using EAS.
A list of the IP addresses of the build servers is available in this file. We do not expect to change the list often. The list includes "Last-Modified" and "Expires" ISO 8601 timestamps that respectively specify the last time the list was updated and the time until which we commit to not change the list.
Linux runners are hosted in Google Cloud Platform. macOS runners are hosted in our own macOS cloud.
Images for each platform have one specific version of Node.js, yarn, CocoaPods, Xcode, Ruby, Fastlane, and so on. You can override some of the versions in eas.json. If there is no dedicated configuration option you are looking for, you can use npm hooks to install or update any system dependencies with apt-get
or brew
. Consider that those customizations are applied during the build and will increase your build times.
When selecting an image for the build you can use the full name provided below or one of the aliases: auto
, latest
, or for a particular SDK such as sdk-52
.
auto
alias, the build image will be selected based on the project configuration, Expo SDK version, and React Native version. You can check what image is used for a build in the Spin up build environment build logs section.latest
alias will be assigned to the image with the most up-to-date versions of the software.sdk-52
alias will be assigned to the image best suited for SDK 52 builds.sdk-51
alias will be assigned to the image best suited for SDK 51 builds.sdk-50
alias will be assigned to the image best suited for SDK 50 builds.sdk-49
alias will be assigned to the image best suited for SDK 49 builds.latest
alias will be updated with every new image release.Note: If you do not provideimage
in eas.json, your build by default will use theauto
alias.
Android builders run on virtual machines in an isolated environment. Every build gets its own dedicated VM instance.
Build resources:
medium
: 4 vCPUs, 16 GB RAM (n2-standard-4 or c3d-standard-4 (default) Google Cloud machine type, depending on the "New Android Builds Infrastructure" setting in project settings)large
: 8 vCPUs, 32 GB RAM (n2-standard-8 or c3d-standard-8 (default) Google Cloud machine type, depending on the "New Android Builds Infrastructure" setting in project settings)Global Gradle configuration in ~/.gradle/gradle.properties:
org.gradle.jvmargs=-Xmx14g -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.daemon=false
Global npm configuration in ~/.npmrc:
registry=http://10.4.0.19:4873
Global Yarn configuration in ~/.yarnrc.yml:
unsafeHttpWhitelist:
- '*'
npmRegistryServer: 'http://10.4.0.19:4873'
enableImmutableInstalls: false
ubuntu-22.04-jdk-17-ndk-r26b
(latest
, sdk-51
, sdk-52
)ubuntu:jammy-v20240614
ubuntu-22.04-jdk-17-ndk-r25b
(sdk-50
)ubuntu:jammy-20220810
ubuntu-22.04-jdk-11-ndk-r23b
(sdk-49
)ubuntu:jammy-20220810
ubuntu-22.04-jdk-17-ndk-r21e
ubuntu:jammy-20220810
ubuntu-22.04-jdk-11-ndk-r21e
ubuntu:jammy-20220810
ubuntu-22.04-jdk-8-ndk-r21e
(deprecated)ubuntu:jammy-20220810
ubuntu-20.04-jdk-11-ndk-r23b
(deprecated)ubuntu:focal-20220823
ubuntu-20.04-jdk-11-ndk-r21e
(deprecated)ubuntu:focal-20220823
ubuntu-20.04-jdk-8-ndk-r21e
(deprecated)ubuntu:focal-20220823
ubuntu-20.04-jdk-11-ndk-r19c
(deprecated)ubuntu:focal-20220823
ubuntu-20.04-jdk-8-ndk-r19c
(deprecated)ubuntu:focal-20220823
iOS builder VMs run on Mac mini hosts in an isolated environment. Every build gets its own fresh macOS VM. For more information, see iOS-specific resource classes.
Hardware:
Build resources:
Global npm configuration in ~/.npmrc:
registry=http://10.94.183.70:4873
Global Yarn configuration in ~/.yarnrc.yml:
unsafeHttpWhitelist:
- '*'
npmRegistryServer: 'http://10.94.183.70:4873'
enableImmutableInstalls: false
macos-sonoma-14.6-xcode-16.1
(latest
, sdk-52
)macos-sonoma-14.6-xcode-16.0
macos-sonoma-14.5-xcode-15.4
(sdk-51
, sdk-50
, sdk-49
)macos-sonoma-14.4-xcode-15.3
macos-ventura-13.6-xcode-15.2
macos-ventura-13.6-xcode-15.1
macos-ventura-13.6-xcode-15.0
We aim to support all stable Xcode releases that allow you to submit your app to the App Store Connect when used during the build process.
This usually means that we support the latest stable Xcode version and the previous one (until the new minimal Xcode version requirement is introduced by Apple).