We raised $3M for agent-native runners

Persist a tool’s incremental analysis state

Keep reusable configuration or analysis state in addition to dependency downloads, using the tool’s own cache contract.

How companies used this technique

Read what each company changed and follow the original sources.

Persist the tool’s analysis state separately

In the Go SDK a test job could win the shared cache key before lint saved its tools and analysis. Lint now turns off setup-go caching and owns a cache for modules, Go builds and the golangci-lint cache, keyed per revision with restore fallbacks.

Dedicated cache for modules, compiled tools and analysis Source

Use it when
Lint rebuilds its tools or analysis on every run despite restored dependency caches.
Before applying it
Restore, save and storage can outweigh reuse. Separate writers must never publish incomplete state under another job's key.

Let the build tool reuse unchanged work

Shopify CLI's scripts and CI jobs passed --skip-nx-cache, and a cache input included the commit SHA. Shopify/cli#8239 declares explicit cached targets with shared inputs and the real package-local dist outputs, then removes the bypass from scripts and CI.

The PR reports repeated builds and bundles restoring 12 of 12 tasks from cache. Source

Use it when
The build tool supports task caching and the CI commands bypass it.
Before applying it
A cached task whose inputs leave out a file restores stale work; declare shared configuration, lockfiles and tool versions as inputs.

Cache Gradle configuration as well as dependencies

Stripe Android enabled Gradle’s configuration cache with dedicated restore and save steps. A later change also saved Gradle transforms, and publishing commands run with --no-configuration-cache.

The author reports slightly faster builds. Source

Use it when
Gradle spends noticeable time configuring the same task graph on every run.
Before applying it
Configuration caches can contain secrets, so use Gradle’s encryption support and keep cache writes inside a trusted boundary. Resolve configuration-cache warnings before relying on it, and keep incompatible tasks such as publishing on the uncached path.

Company Playbooks