Skills

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:

  1. Use list_gradle_builds to find builds on each branch.
  2. Use get_gradle_build for both base and head builds.
  3. Use list_gradle_build_tasks to fetch task-level details for both builds.
  4. Compare duration, status, cache hit rates, and task outcomes.
  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 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:

MetricWhat to check
duration_msFlag if head is >10% slower than base
statusFlag if base succeeded but head failed
tasks_local_hit_countCompare local cache hit counts
tasks_remote_hit_countCompare remote cache hit counts
tasks_executed_countCompare how many tasks ran (higher means more cache misses)
cacheable_tasks_countNote if the cacheable task count changed
cache_hit_rate(local_hits + remote_hits) / cacheable_tasks_count * 100
requested_tasksEnsure both builds ran the same tasks for a fair comparison
gradle_version / java_versionNote environment differences that affect comparability
Read the whole SKILL.md on GitHub

More in Engineering