Skip to main content

Stack update policy

Abstract

Bitrise stacks are updated every week: some stacks are completely rebuilt while on others only certain cache archives are updated.

Stacks on bitrise.io are updated regularly, on a weekly basis. On some stacks only certain caches are updated and there are stacks which are completely rebuilt, on both macOS and Linux.

For more information on what tools are available on the different stacks, check out our relevant guide: Preinstalled tools on Bitrise stacks.

Xcode stack updates

We use two types of Xcode stacks on Bitrise: Stable stacks and Edge stacks.

  • Xcode Stable stacks are built when a new minor version of a major Xcode version comes out. For example, Xcode 13.3.x has its own stable stack. These stacks are only updated with Xcode patch versions, Bitrise CLI related updates, dependency manager cache updates and with critical fixes. These stacks are designed so that if a build worked on the stack, the same build should run the same way as long as the stack is available.

  • The Xcode Edge stack is rebuilt regularly. It includes the latest stable release of Xcode, the same pre-installed tools as on the Stable stack, and the dependency manager cache updates. The stack uses the same scripts we use for creating new Xcode stacks.

Xcode beta versions

Bitrise supports Xcode beta versions. You can check out which specific Xcode version your stack uses either on the Bitrise System Reports repository or by clicking on the link below the selected stack in the Workflow Editor.

Pinning an Xcode version

Whenever a new Xcode version comes out, we make sure it's available for our users within two working days. But we do not update existing stable stacks with a new Xcode version as that could potentially break builds: instead, we provide a new stack with the new version, and keep maintaining the older versions.

About dependency manager cache updates

All of the macOS stacks receive a dependency manager cache update (brew, cocoapods and bitrise CLI) every week. These cache updates do not change the pre-installed tool versions, they only update the package manager caches for faster dependency installs.

The Android & Docker stacks

The Android / Linux stacks are prepared with docker, using multiple separate docker images built on top of each other.