autonomousapps / autonomousapps/dependency-analysis-gradle-plugin

Cache misses between CI and local

Open
#1,083 18 comments 1 reaction 0 assignees View on GitHub
enhancement help wanted performance sponsorable
Dominant language
Kotlin
Stars
2.2k
Forks
158
Avg merge
16h 25m
Merged PRs (30d)
46

Description

**Build scan link**

**Plugin version**
1.28.0

**Gradle version**
8,5

**JDK version**
17

**(Optional) Kotlin and Kotlin Gradle Plugin (KGP) version**
1.9.21

**(Optional) Android Gradle Plugin (AGP) version**
N/a

**Describe the bug**
The buildHealth task and all its deps are not being cached properly and we get cache misses more often than ideal.
The cause seems to be not using PathSenstivity.Relative in all cases. The reason we get cache misses is because the absolute paths of input dependencies of many of the tasks created by the plugin use absolute or none path sensitivity. See image for one such example

image

**To Reproduce**
Steps to reproduce the behavior:
1. ...

**Expected behavior**
If the code hasn't change I expect cache hits for all the tasks that this plugin creates in CI.

**Additional context**

Contributor guide

Open the contributing guide

Research direction

Start with the buildHealth task and the other tasks created by the plugin, then reproduce the reported cache misses between CI and a local build using Gradle 8.5, JDK 17, and plugin 1.28.0. Inspect the input dependency path-sensitivity settings, especially cases using absolute or no sensitivity; done means unchanged code produces cache hits for the plugin-created tasks.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
build-system, ci-cd, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.