Loading...
Loading...
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.
npx skill4agent add tuist/agent-skills compare-gradle-buildslist_gradle_buildsget_gradle_buildlist_gradle_build_tasksget_gradle_build(build_run_id: "<id>")list_gradle_builds(account_handle: "...", project_handle: "...", git_branch: "<branch>", page_size: 1)get_gradle_build(build_run_id: "<id>")maingit rev-parse --abbrev-ref HEAD| Metric | What to check |
|---|---|
| Flag if head is >10% slower than base |
| Flag if base succeeded but head failed |
| Compare local cache hit counts |
| Compare remote cache hit counts |
| Compare how many tasks ran (higher means more cache misses) |
| Note if the cacheable task count changed |
| |
| Ensure both builds ran the same tasks for a fair comparison |
| Note environment differences that affect comparability |
base_executed - head_executedlist_gradle_build_tasksduration_msoutcomelocal_hitremote_hitexecutedexecutedlocal_hitremote_hitfailedoutcomelist_gradle_build_tasks(build_run_id: "<id>", outcome: "executed")list_gradle_build_tasks(build_run_id: "<id>", outcome: "failed")list_gradle_build_tasks(build_run_id: "<id>", cacheable: true)requested_tasksexecutedgradle_versionjava_versionup_to_datelocal_hitremote_hitexecutedgradle_versionjava_versionis_cigit_branchgit_commit_sharoot_project_nameduration_msBuild Comparison: base (abc123 on main) vs head (def456 on feature-x)
Duration: 45200ms -> 62800ms (+39%) -- REGRESSION
Cache hit rate: 85% -> 72% (-13%) -- 8 tasks went from cache hit to executed
Status: success -> success
Root cause: Cache hit rate dropped because 8 tasks had invalidated caches.
The :app:compileKotlin task changed from remote_hit to executed,
cascading to 7 downstream tasks.
Recommendations:
- Investigate which source changes invalidated :app:compileKotlin cache
- Consider splitting large modules to reduce cache invalidation cascading