README: clarify that cache-hit is 3-valued, not a boolean

Evidence at https://github.com/itchyny/actions-cache-issues-1263
This commit is contained in:
Andreas Abel 2024-03-22 07:42:50 +01:00
parent 8fc291c114
commit 3182ee571c
2 changed files with 10 additions and 8 deletions

View file

@ -65,11 +65,12 @@ If you are using a `self-hosted` Windows runner, `GNU tar` and `zstd` are requir
### Outputs ### Outputs
* `cache-hit` - A string `'true'` or `'false'` indicating whether an exact match was found for the key. * `cache-hit` - A string with three possible values indicating whether a matching cache was found:
1. `'true'` if a cache exactly matching `key` was found.
2. `'false'` if a cache matching one of the `restore-keys` was found.
3. Empty if no matching cache was found (cache miss).
> **Note** `cache-hit` will only be set to `'true'` when a cache hit occurs for the exact `key` match. For a partial key match via `restore-keys` or a cache miss, it will be set to `'false'`. See [Skipping steps based on cache-hit](#skipping-steps-based-on-cache-hit) for info on using this output.
See [Skipping steps based on cache-hit](#skipping-steps-based-on-cache-hit) for info on using this output
### Cache scopes ### Cache scopes

View file

@ -14,13 +14,14 @@ The restore action restores a cache. It works similarly to the `cache` action ex
### Outputs ### Outputs
* `cache-hit` - A string `'true'` or `'false'` to indicate whether an exact match was found for the key. * `cache-hit` - A string with three possible values indicating whether a matching cache was found:
1. `'true'` if a cache exactly matching `key` was found.
In this case, `cache-primary-key == cache-matched-key`.
2. `'false'` if a cache matching one of the `restore-keys` was found.
3. Empty if no matching cache was found (cache miss).
* `cache-primary-key` - Cache primary key passed in the input to use in subsequent steps of the workflow. * `cache-primary-key` - Cache primary key passed in the input to use in subsequent steps of the workflow.
* `cache-matched-key` - Key of the cache that was restored, it could either be the primary key on cache-hit or a partial/complete match of one of the restore keys. * `cache-matched-key` - Key of the cache that was restored, it could either be the primary key on cache-hit or a partial/complete match of one of the restore keys.
> **Note**
`cache-hit` will be set to `'true'` only when cache hit occurs for the exact `key` match. For a partial key match via `restore-keys` or a cache miss, it will be set to `'false'`.
### Environment Variables ### Environment Variables
* `SEGMENT_DOWNLOAD_TIMEOUT_MINS` - Segment download timeout (in minutes, default `10`) to abort download of the segment if not completed in the defined number of minutes. [Read more](https://github.com/actions/cache/blob/main/tips-and-workarounds.md#cache-segment-restore-timeout) * `SEGMENT_DOWNLOAD_TIMEOUT_MINS` - Segment download timeout (in minutes, default `10`) to abort download of the segment if not completed in the defined number of minutes. [Read more](https://github.com/actions/cache/blob/main/tips-and-workarounds.md#cache-segment-restore-timeout)