Skip to main content
A toolchain image is the runner setup for a build: the OS plus Xcode or the Android SDK. Pin one when your build needs a specific version.

Selecting an image

If you don’t pick one, the platform’s current default is used. Pin an image in config or per invocation:
build:
  platforms:
    ios:
      image: ios-macos-26-xcode-26.2
revyl build --remote --platform ios --image ios-macos-26-xcode-26.2
Image precedence is --image, then the config image field, then the platform default. The special value latest uses the platform default. PR preview builds accept the same keys via the image field in the GitHub integration config.

iOS images

ToolVersion
Xcode26.5
Node.js22.23.0
npm10.9.8
Yarn1.22.22
pnpm11.9.0
Bun1.3.14
node-gyp13.0.0
CocoaPods1.16.2
git2.54.0
git-lfs3.7.1
ccache4.13.6
watchman2026.06.22.00
bash5.3.15
ToolVersion
Xcode26.2
Node.js20.19.4
npm10.9.3
Yarn1.22.22
pnpm10.28.2
Bun1.3.8
node-gyp12.2.0
CocoaPods1.16.2
git2.54.0
git-lfs3.7.1
ccache4.13.6
watchman2026.06.22.00
bash5.3.15

Android images

ToolVersion
Ubuntu24.04 (arm64, with Rosetta translation for x86_64 binaries)
OpenJDK17 (JAVA_HOME preset)
Gradle9.4.1 (project gradlew wrappers also work)
Android platformsandroid-35, android-36
Android build-tools35.0.0, 36.0.0
Android cmdline-toolslatest at image build
Android platform-toolslatest at image build
NDK28.2.13676358 (r28c)
CMakelatest SDK release at image build
ninjaUbuntu 24.04 package
Node.js22.x
Bunlatest at image build
git / git-lfsUbuntu 24.04 packages
ccacheUbuntu 24.04 package
Python3.x (Ubuntu 24.04 package)

Need a different toolchain?

If your build needs an Xcode, JDK, NDK, or SDK version that isn’t listed, contact [email protected]. New toolchain images are published as additional keys.