github falcondev-oss/github-actions-cache-server v9.6.0

5 hours ago

Notable Changes

Capacity-based Cache Eviction

The cache can now be bounded so it doesn't grow without limit. When a size budget is configured, the server evicts the least-recently-used cache entries after each completed upload until usage drops back to 90% of the budget. Recency is the last time an entry was downloaded, falling back to when it was last saved, and entries with an in-progress download are never evicted.

Two new options control the budget (both optional):

  • CACHE_MAX_SIZE_BYTES — a hard cap in bytes on the total size of finalized cache payloads. Works with any storage driver. Leave unset for unlimited object storage.
  • CACHE_FILESYSTEM_MAX_USAGE_PERCENT (default: 90) — for the filesystem driver, the maximum percentage of the volume's total capacity to use before eviction kicks in. Ignored when CACHE_MAX_SIZE_BYTES is set.

Payload sizes are recorded per entry at upload time (measuring only the completed folder, not the whole store), and entries created before this release are backfilled on the next startup.

A new Prometheus metric exposes current usage:

  • cache_storage_bytes — total size of finalized cache payloads currently in storage

ℹ️ Eviction runs after an upload finalizes, so the total may briefly exceed the budget under concurrent uploads. Leave some headroom for in-flight uploads.

⚠️ This should not break existing deployments — eviction is inactive unless you set a budget. If you run into any issues, please feel free to create an issue.

Commits

   ✨ Enhancements

   🔧 Chore

    View changes on GitHub

Don't miss a new github-actions-cache-server release

NewReleases is sending notifications on new releases.