Skills

Compare Builds

Compares two Xcode build runs to identify duration regressions, cache changes, and new...

Install

npx skills add tuist/tuist --skill compare-builds -g -a claude-code -y
Repository
tuist/tuist5.9k
Category
Mobile
Updated
3d ago
License
See repository
Context cost
Lightabout 1,309 tokens
Runs scripts
No, instructions only

What it does

Compares two Xcode build runs to identify duration regressions, cache changes, and new issues. Can be invoked with build IDs, dashboard URLs, or branch names (e.g. `tuist compare-builds --base main --head feature-branch`).

Compare Builds

Quick Start

You'll typically receive two build identifiers (IDs, dashboard URLs, or branch names). Follow these steps:

  1. Run tuist build list --json to find builds on each branch.
  2. Run tuist build show <build-id> --json for both base and head builds.
  3. Fetch sub-resource details: targets (tuist build xcode target list <id> --json), issues (tuist build xcode issue list <id> --json), and cache tasks (tuist build xcode cache-task list <id> --json).
  4. Compare duration, status, cache hit rates, and other metrics.
  5. Summarize regressions, improvements, and recommendations.

If only one identifier is provided, use the project's default branch as the baseline.

Step 1: Resolve Builds

If base/head are build IDs or dashboard URLs

Fetch each directly:

tuist build show <base-id> --json
tuist build show <head-id> --json

If base/head are branch names

List recent builds on each branch and pick the latest:

tuist build list --git-branch <base-branch> --json --page-size 1
tuist build list --git-branch <head-branch> --json --page-size 1

Then fetch full details with tuist build show <id> --json.

Defaults

  • If no base is provided, use the project's default branch (usually main).
  • If no head is provided, detect the current git branch with git rev-parse --abbrev-ref HEAD.

Step 2: Fetch Sub-Resource Details

After fetching both builds with tuist build show <id> --json, drill down into sub-resources for a deeper comparison.

Compare targets

tuist build xcode target list <base-id> --json
tuist build xcode target list <head-id> --json

Look for targets that changed status (e.g., success to failure) or had significant duration changes.

Compare issues

tuist build xcode issue list <base-id> --json
tuist build xcode issue list <head-id> --json

Look for new warnings or errors introduced in the head build.

Compare cache tasks

Read the whole SKILL.md on GitHub

More in Mobile