name: 'Cache' description: 'Cache artifacts like dependencies and build outputs to improve workflow execution time' author: 'GitHub' inputs: path: description: 'A list of files, directories, and wildcard patterns to cache and restore' required: true key: description: 'An explicit key for restoring and saving the cache' required: true restore-keys: description: 'An ordered list of keys to use for restoring stale cache if no cache hit occurred for key. Note `cache-hit` returns false in this case.' required: false upload-chunk-size: description: 'The chunk size used to split up large files during upload, in bytes' required: false enableCrossOsArchive: description: 'An optional boolean when enabled, allows windows runners to save or restore caches that can be restored or saved respectively on other platforms' default: 'false' required: false fail-on-cache-miss: description: 'Fail the workflow if cache entry is not found' default: 'false' required: false lookup-only: description: 'Check if a cache entry exists for the given input(s) (key, restore-keys) without downloading the cache' default: 'false' required: false outputs: cache-hit: description: 'A boolean value to indicate an exact match was found for the primary key' runs: using: 'node16' main: 'dist/restore/index.js' post: 'dist/save/index.js' post-if: success() branding: icon: 'archive' color: 'gray-dark' main functionalities: description: 'The main functionalities provided by the `cache` action are:' details: - 'Caching dependencies and build outputs: The primary function of the `cache` action is to cache dependencies and build outputs to improve workflow execution time. This is specified in the `description` field of the `action.yml` file (`action.yml`). 🗃️' - 'Restoring cache: The `cache` action can restore cached files, directories, and wildcard patterns specified in the `path` input. This is done using the `restoreCache` function from the `@actions/cache` package (`src/restoreImpl.ts`). 🔄' - 'Saving cache: The `cache` action can save files, directories, and wildcard patterns specified in the `path` input to the cache. This is done using the `saveCache` function from the `@actions/cache` package (`src/saveImpl.ts`). 💾' - 'Cross-OS caching: The `cache` action supports cross-OS caching, allowing Windows runners to save or restore caches that can be restored or saved respectively on other platforms. This is controlled by the `enableCrossOsArchive` input (`action.yml`). 🌐' - 'Failing on cache miss: The `cache` action can be configured to fail the workflow if a cache entry is not found. This is controlled by the `fail-on-cache-miss` input (`action.yml`). ❌' - 'Lookup-only mode: The `cache` action can check if a cache entry exists for the given inputs without downloading the cache. This is controlled by the `lookup-only` input (`action.yml`). 🔍'