Build machine type
How to configure build machine type
Configuring build machine type
codemagic.yaml, the build machine type can be specified with Instance type.
For Flutter projects configured via the Flutter workflow editor, the build machine type can be selected in App settings > Workflow settings > Machine.
macOS Standard and macOS Premium
Codemagic offers three types of macOS machines for running builds:
- Mac minis with Apple M1 chip (macOS M1 Standard VM, default)
- Mac Pros (macOS premium VM)
- Mac minis (macOS standard VM)
Check the specific macOS build machine image for machine specifications.
Xcode 13 images and above have System Integrity Protection (SIP) disabled in order to run macOS UI tests, which require accessibility permissions. Older images with Xcode 12 and below do not have SIP disabled and are unsuitable for UI testing macOS apps.
Linux Standard and Linux Premium
Codemagic offers two types of Linux machines for running builds: Linux standard VM and Linux premium VM. Linux machines support nested virtualisation, including Android emulator support with hardware acceleration. Linux machines do not support macOS specific software, such as brew and Xcode, and cannot be used to build iOS artifacts. Specifications for these machines are available here.
Codemagic offers only premium Windows VMs. Windows VMs do not support nested virtualization which is required for the use of Android emulator. Additionally, Windows machines do not support macOS specific software, such as brew and Xcode, and cannot be used to build iOS artifacts. Specifications for these machines are available here.
Xcode version update policy
Codemagic macOS build machines come with a range of Xcode versions and runtimes preinstalled. In general, we will always support the 3 latest major Xcode versions:
- The latest major Xcode version and all of its minor versions
- The latest minor version of two previous major Xcode versions
You can check the currently available Xcode versions here.