mirror of https://github.com/actions/cache.git
58 lines
3.4 KiB
YAML
58 lines
3.4 KiB
YAML
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 multiline string listing the prefix-matched keys, that are used 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
|
|
save-always:
|
|
description: 'Run the post step to save the cache even if another step before fails'
|
|
default: 'false'
|
|
required: false
|
|
deprecationMessage: |
|
|
save-always does not work as intended and will be removed in a future release.
|
|
A separate `actions/cache/restore` step should be used instead.
|
|
See https://github.com/actions/cache/tree/main/save#always-save-cache for more details.
|
|
outputs:
|
|
cache-hit:
|
|
description: 'A boolean value to indicate an exact match was found for the primary key'
|
|
runs:
|
|
using: 'node20'
|
|
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`). 🔍'
|