v0.1.0 – Universal S3 Cache with 1:1 actions/cache Parity & Dual-Caching
Pre-release
Pre-release
🚀 Introducing Cloud Cache Action (v0.1.0)
Cloud Cache Action is a drop-in, high-performance GitHub Action for saving and restoring cache artifacts to any S3-compatible cloud or self-hosted object storage with full 1:1 actions/cache parity and native Node 24 execution.
✨ Key Features
- 1:1
actions/cacheParity: Complete drop-in replacement for official inputs (path,key,restore-keys,fail-on-cache-miss,lookup-only,enableCrossOsArchive,read-only,save-always) and outputs (cache-hit,cache-primary-key,cache-matched-key). - Modern Node 24 Runtime: Native
runs: using: 'node24'runtime with zero deprecation warnings. - Universal S3 Compatibility: Tested and verified across AWS S3, Cloudflare R2, Google Cloud Storage, Backblaze B2, Fastly Object Storage, Garage, SeaweedFS, MinIO, and custom endpoints.
- ⚡ Dual-Caching Synchronization: Cache simultaneously to both your S3 bucket and GitHub Actions Cache tier for maximum resilience, warm local runners, and rapid remote builds.
- Resilient Archiving & Transfer: Multi-threaded compression (
zstdwith automaticgzipfallback), chunked streaming uploads, and exponential backoff retries on transient network errors. - Modular Sub-actions: Dedicated restore-only (
restore/action.yml) and save-only (save/action.yml) workflows for custom build step placement.
📦 Quick Start
- name: Cache Dependencies (S3)
uses: xSAVIKx/cloud-cache-action@v0
with:
path: ~/.npm
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-npm-
bucket: my-ci-cache-bucket
aws-region: us-east-1
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}Dual-Caching Example (S3 + GitHub Actions Cache)
- name: Dual Cache (S3 + GitHub Cache Fallback)
uses: xSAVIKx/cloud-cache-action@v0
with:
path: ~/.npm
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
bucket: my-ci-cache-bucket
dual-cache: true
cache-source: dual
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}Documentation: https://xsavikx.github.io/cloud-cache-action/
Website: https://serhiichuk.dev