
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:
- Run
tuist build list --jsonto find builds on each branch. - Run
tuist build show <build-id> --jsonfor both base and head builds. - 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). - Compare duration, status, cache hit rates, and other metrics.
- 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.
