Cache

Configure Xcode compilation caching to use Depot Cache

Starting with Xcode 26, Xcode includes compilation caching, built on the LLVM content-addressable storage (CAS). Compilation caching reuses previously compiled outputs, which speeds up clean builds and builds after you switch branches.

Depot Cache provides a remote cache service that works with Xcode compilation caching, so you can store and reuse compiled outputs across builds on your CI/CD systems.

Local workstation

Depot Cache doesn't support Xcode compilation caching on local workstations yet. If you need local support, reach out to support.

Depot GitHub Actions runners

Depot GitHub Actions runners are pre-configured to use Depot Cache with Xcode, so you don't need any additional configuration. Builds that use a version of Xcode earlier than 26 aren't affected and run as before.

Run your Xcode builds as normal:

jobs:
  build:
    runs-on: depot-macos-26
    steps:
      - uses: actions/checkout@v7
      - run: xcodebuild build -project "$PROJECT" -scheme "$SCHEME" -destination "$DESTINATION" | xcbeautify

To turn off automatic configuration for your organization, disable Allow Actions jobs to automatically connect to Depot Cache in your organization settings.

To opt out specific jobs or workflows, set the DEPOT_XCODE_CACHE_ENABLED environment variable to 0:

jobs:
  build:
    runs-on: depot-macos-26
    env:
      DEPOT_XCODE_CACHE_ENABLED: 0
    steps:
      - uses: actions/checkout@v7
      - run: xcodebuild build -project "$PROJECT" -scheme "$SCHEME" -destination "$DESTINATION" | xcbeautify

View cache statistics

To see how well the cache performs, such as the hit rate and how much data the build downloaded, add the depot/xcode-compilation-cache-summary action to your job. Add it after your build step. The action collects statistics at the end of the job.

jobs:
  build:
    runs-on: depot-macos-26
    steps:
      - uses: actions/checkout@v7
      - run: xcodebuild build -project "$PROJECT" -scheme "$SCHEME" -destination "$DESTINATION" | xcbeautify
      - uses: depot/xcode-compilation-cache-summary@v1

When the job finishes, the action prints a summary to the job log:

Depot Xcode compilation cache
  Hits        5310
  Misses      0
  Hit rate    100.0%
  Downloaded  2.2 GB
  Uploaded    0 objects, 0 B

The action also adds these statistics to the GitHub Actions job summary.

To enable detailed logging and list the cache keys that missed, set the debug input to true:

- uses: depot/xcode-compilation-cache-summary@v1
  with:
    debug: true