alfredtm/Yeet Cache

Content-addressed CI build skip via OCI registry. Skip image builds entirely when source files are unchanged.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit May 22, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: alfredtm/yeet-cache-action@a902595a61fac9ca949ce61ee05dc53a94f7b574 # v1.1.0

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

namedescriptionrequireddefault
pathsSpace-separated paths to hash via git tree hashes. Required unless `hash` is provided.no""
hashPre-computed 12-char source hash. Bypasses paths/git. Useful for skipping checkout on cache hits.no""
via-apiWhen "true" and `paths` is set, compute the hash via GitHub git API (gh api repos/.../git/trees/...) instead of git rev-parse. Lets you skip actions/checkout on cache hits.nofalse
imageOCI image repository without tag (e.g. ghcr.io/owner/repo).yes
extraFree-form string mixed into the hash. Include build flags, toolchain version, base image digest.no""
registryRegistry hostname.noghcr.io
registry-usernameRegistry username. Defaults to $GITHUB_ACTOR.no""
registry-passwordRegistry token. Typically secrets.GITHUB_TOKEN.yes
tagsComma-separated tags to apply on cache hit.no""
sign"true" to auto-attest the built image on cache miss via the post hook, and verify on cache hit. Requires permissions { id-token: write, attestations: write }.nofalse
verify-on-hit"true" (default) to verify the cosign/attestation signature on cache hit before retagging. Set to "false" for trust-on-first-use semantics — cache hits are retagged without re-verification. Saves ~3-4s per no-op push. Tradeoff: a compromised registry tag would not be caught at hit time; rely on registry write-access controls instead.notrue
verify-identityOverride for the workflow identity regex used during verification. Defaults to any workflow in $GITHUB_REPOSITORY.no""
yeet-pack-binary-pathOverride path to the yeet-pack binary. Defaults to the bundled binary in dist/.no""
namedescription
hit"true" if an image with the source hash exists (and signature verified, if sign=true).
src-hash12-char content address.
src-tagFull <image>:src-<hash> reference. Tag your freshly-built image with this on cache miss.
cached-tagSame as src-tag, only set on cache hit.