mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-25 15:01:49 +00:00
b2135e41b7
When running Renovate with `binarySource=install` on a repository with many branches, the amount of time running `install-tool` - on already installed tools - can take a significant percentage of the overall run. For instance, on one repository we have instrumented with OpenTelemetry, we see: - initial `install-tool golang`: 8.7s - follow-up `install-tool golang`: median 635ms, max 2.4s However, because we run `install-tool golang` 640 times, this adds up to 24.8/29.2m (85%) of the repo's run time, which is an overwhelming percentage when we're not even re-installing the tool. To handle this more effectively, we can add an in-memory cache of all the tools (and resolved versions) that we've installed in a given run. We can't do this with `binarySource=docker`, as it has a fresh container each time. Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>