
Compare Gradle Builds
Compares two Gradle build runs to identify duration regressions, cache changes, and...
Install
npx skills add tuist/tuist --skill compare-gradle-builds -g -a claude-code -y- Repository
- tuist/tuist5.9k
- Category
- Engineering
- Updated
- 3d ago
- License
- See repository
- Context cost
- Lightabout 1,430 tokens
- Runs scripts
- No, instructions only
What it does
Compares two Gradle build runs to identify duration regressions, cache changes, and task outcome differences. Can be invoked with build IDs, dashboard URLs, or branch names.
Compare Gradle Builds
Quick Start
You'll typically receive two build identifiers (IDs, dashboard URLs, or branch names). Follow these steps using the Tuist MCP tools:
- Use
list_gradle_buildsto find builds on each branch. - Use
get_gradle_buildfor both base and head builds. - Use
list_gradle_build_tasksto fetch task-level details for both builds. - Compare duration, status, cache hit rates, and task outcomes.
- 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 with get_gradle_build(build_run_id: "<id>").
If base/head are branch names
List recent builds on each branch and pick the latest:
list_gradle_builds(account_handle: "...", project_handle: "...", git_branch: "<branch>", page_size: 1)
Then fetch full details with get_gradle_build(build_run_id: "<id>").
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: Compare Top-Level Metrics
After fetching both builds, compare:
| Metric | What to check |
|---|---|
duration_ms | Flag if head is >10% slower than base |
status | Flag if base succeeded but head failed |
tasks_local_hit_count | Compare local cache hit counts |
tasks_remote_hit_count | Compare remote cache hit counts |
tasks_executed_count | Compare how many tasks ran (higher means more cache misses) |
cacheable_tasks_count | Note if the cacheable task count changed |
cache_hit_rate | (local_hits + remote_hits) / cacheable_tasks_count * 100 |
requested_tasks | Ensure both builds ran the same tasks for a fair comparison |
gradle_version / java_version | Note environment differences that affect comparability |
