---
title: Build Stacks for Native Builds
description: Explore macOS build stacks (macos-sequoia, macos-tahoe, macos-golden-gate) with Node.js, Xcode, Java, and CocoaPods versions for native iOS and Android builds in the cloud.
---

# Build Stacks

In Capawesome Cloud, build stacks define a set of pre-configured software versions and tools used during the native build process. Selecting the appropriate build stack ensures compatibility with your application's dependencies and requirements.

???+ info "Available Build Stacks"

    Capawesome Cloud currently offers **three build stacks**: `macos-sequoia`, `macos-tahoe`, and `macos-golden-gate`. `macos-sequoia` is deprecated and will be removed when the next build stack is released. Move your builds to `macos-tahoe` or `macos-golden-gate` before then. If you have specific requirements or suggestions for build stacks, please [contact us](/contact/){:target="_blank"}.

## Select a Build Stack

Each build runs on a single build stack. If you don't select one, Capawesome Cloud uses the app's default build stack, or `macos-golden-gate` if the app has none. To run a build on a specific stack, choose it when you trigger the build:

=== "CLI"

    Pass the `--stack` flag to [`apps:builds:create`](../cli/commands.md#appsbuildscreate):

    ```bash
    npx @capawesome/cli apps:builds:create --stack macos-tahoe
    ```

=== "Console"

    Open the [Builds](https://console.cloud.capawesome.io/apps/_/builds){:target="_blank"} page, start a build, and select the build stack from the build options:

    ![Selecting a build stack in the Capawesome Cloud Console](../../assets/images/screenshots/cloud-app-builds-stack.png)

## Set a Default Build Stack

You can set a default build stack that applies to every build that doesn't select one, for example to keep an app on `macos-tahoe` until it's ready for Xcode 27 without passing `--stack` on every build.

=== "CLI"

    Pass the `--stack` flag to [`apps:update`](../cli/commands.md#appsupdate). An empty value restores the Capawesome Cloud default:

    ```bash
    npx @capawesome/cli apps:update --app-id <APP_ID> --stack macos-tahoe
    ```

=== "Console"

    Open your app's **Settings**, and in the **Builds** section enable the **Default build stack** toggle, select the build stack, and save.

Capawesome Cloud resolves the build stack for a build in this order:

1. The build stack selected for the build or automation.
2. The app's default build stack.
3. `macos-golden-gate`, Capawesome Cloud's default build stack.

An [automation](../automations/index.md) without a build stack follows the same order. To set the default programmatically, update the `buildStack` property of the app through the [API](../api.md) at `/v1/apps/{appId}`.

## Build Stack Lifecycle

When we release a new build stack, the oldest remaining stack is deprecated, and the new stack becomes the default shortly after. A deprecated stack keeps working until the next build stack is released, then it's removed. Builds that still select a removed stack fail, so switch them to a supported stack before that happens.

## Configurations

The following table lists the software and their respective versions included in each build stack:

| Software                   | macos-sequoia (deprecated)     | macos-tahoe                    | macos-golden-gate (default)    |
| -------------------------- | ------------------------------ | ------------------------------ | ------------------------------ |
| Android Build Tools        | 34.0.0, 35.0.0, 36.0.0, 37.0.0 | 34.0.0, 35.0.0, 36.0.0, 37.0.0 | 34.0.0, 35.0.0, 36.0.0, 37.0.0 |
| Android CMake              | 3.22.1                         | 3.22.1                         | 3.22.1                         |
| Android Command-line Tools | 14742923                       | 14742923                       | 16111833                       |
| Android NDK                | 28.2.13676358                  | 28.2.13676358                  | 28.2.13676358                  |
| Android Platforms          | 34, 35, 36, 37.0               | 34, 35, 36, 37.0               | 34, 35, 36, 37.0               |
| Capacitor CLI              | 8.4.0                          | 8.4.0                          | 8.5.2                          |
| Capawesome CLI             | 4.11.0                         | 4.11.0                         | 4.18.4                         |
| CocoaPods                  | 1.16.2                         | 1.16.2                         | 1.17.0                         |
| Cordova CLI                | 13.0.0                         | 13.0.0                         | 13.0.0                         |
| Fastlane                   | 2.226.0                        | 2.232.2                        | 2.240.1                        |
| Firebase CLI               | 15.31.0                        | 15.31.0                        | 15.31.0                        |
| Ionic CLI                  | 7.2.1                          | 7.2.1                          | 7.2.1                          |
| Java                       | 17, 21 (default)               | 17, 21 (default)               | 17, 21 (default)               |
| macOS                      | 15                             | 26                             | 27                             |
| Node.js                    | 20, 22, 24 (default)           | 20, 22, 24 (default)           | 22, 24 (default), 26           |
| npm                        | 11.6.1                         | 11.9.0                         | 11.19.1                        |
| Ruby                       | 3.3.10                         | 3.3.10                         | 3.3.12                         |
| Trapeze Configure          | 7.1.4                          | 7.1.4                          | 7.1.10                         |
| Xcode                      | 16.4 (default), 26.3           | 26.5 (default), 27.0           | 27.0 (default)                 |

Capawesome Cloud regularly updates the build stacks to include the latest stable versions of the software. When we make changes to a build stack, we'll let you know so you can review them and adjust your build configuration if needed. For the most up-to-date information on the available build stacks and their configurations, please refer to this documentation or contact our support team.

???+ info "Customizing Versions"

    You can override the default versions for Java, Node.js, and Xcode by setting the corresponding environment variables (`JAVA_VERSION`, `NODE_VERSION`, `XCODE_VERSION`) in your build configuration. For more information, see the [Environments](environment-variables.md#reserved-variables) documentation.

???+ info "Additional Tools"

    Each build stack also includes the following tools. Their versions are not pinned and are updated to the latest stable release on each image rebuild: Bundler, Carthage, Git LFS, Gradle, SwiftFormat, SwiftLint, xcbeautify, and xcpretty. The package managers Yarn and pnpm (via Corepack) and bun are available alongside npm.
