User Guide
How to use Buildish Mammoth Cache for Gradle and Maven in your workflows.
IMPORTANT: Developer documentation for the current development branch. This content is unreleased, may change without notice, and must not be treated as Buildish release documentation.
Buildish Mammoth Cache for Gradle and Maven is a pair of CI actions that cache the build tool’s local artifact store across workflow runs:
GRADLE_USER_HOME and provisions Gradle wrapper JARs securely before the
build starts.~/.m2 by default).Both actions share the same two-phase prepare/finalize lifecycle and support single-job and distributed multi-job topologies.
In the most common setup, the action wraps a single build job: it restores the newest compatible immutable generation before the build and publishes a new complete generation after a material change. This avoids re-downloading dependencies on every run without creating duplicate entries for unchanged runs.
When a workflow runs multiple build jobs in parallel — for example, one job per subproject or one job per test suite — independent full-cache generations diverge. Restoring only the newest generation then loses the dependency downloads that exist solely in the other workers’ generations.
This action solves that with a delta exchange model:
The result: every parallel job’s dependency downloads are captured in one merged generation.
graph LR
BC["Base cache\n(previous run)"] --> W1 & W2 & W3
W1["Worker A\nbuild + delta"] -- "Δ artifact A" --> AGG
W2["Worker B\nbuild + delta"] -- "Δ artifact B" --> AGG
W3["Worker C\nbuild + delta"] -- "Δ artifact C" --> AGG
AGG["Aggregator\nmerge + save"] --> BC2["Base cache\n(this run)"]
How to use Buildish Mammoth Cache for Gradle and Maven in your workflows.
Design documents covering the internal architecture of Buildish Mammoth Cache for Gradle and Maven.
Architecture, portability, and release information for contributors to Buildish Mammoth Cache for Gradle and Maven.
Threat model for Buildish Mammoth Cache for Gradle and Maven.