kunobi-ninja/Kache - Rust Build Cache

Content-addressed Rust build cache with S3 remote storage

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jun 19, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: kunobi-ninja/kache-action@49398d37113c616fdb61be434cb497e3c2c8f3e6 # v1

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
versionKache version to install (default: latest)no
s3-bucketS3 bucket name for remote cacheno
s3-regionS3 regionnous-east-1
s3-prefixS3 key prefixnoartifacts
s3-endpointCustom S3 endpoint (MinIO, R2, etc.)no
s3-access-key-idS3 access key IDno
s3-secret-access-keyS3 secret access keyno
cache-executablesCache bin/dylib/proc-macro outputsnofalse
github-cacheUse GitHub Actions cache for the local kache store (used when S3 is not configured)notrue
cache-key-prefixCustom prefix for GitHub Actions cache keynokache
syncPull ALL remote cache on setup (slow, prefer warm)nofalse
warmAuto-prefetch expensive artifacts from build manifest on daemon startupnotrue
manifest-keyManifest key for scoping builds (default: target triple). Use different keys for clippy, test, release builds sharing the same S3 bucket.no""
namespaceEnables content-addressed shards (sharded prefetch + shard upload). Defaults to manifest-key, so scoping a build turns shards on. Helps most when deps churn or for cross-branch sharing; set distinct values per build variant sharing one bucket, or leave both empty to disable shards. See the Manifest vs shards section in the README.no""
min-compile-msSkip prefetching crates that compiled faster than this (ms). Cheaper to recompile.no1000
tokenGitHub token for releases API and PR comments (needs pull-requests: write for comments)no${{ github.token }}
pr-commentPost/update a sticky PR comment with cache stats. The job summary is always written regardless.notrue
max-sizeMax local kache store size before LRU eviction (e.g. "100GiB"). Maps to KACHE_MAX_SIZE; kache defaults to 50GiB. Controls the local store, not a remote/S3 cap.no

no outputs