From 3182ee571ccc623943fe0d1c3bdd580fc678f993 Mon Sep 17 00:00:00 2001 From: Andreas Abel Date: Fri, 22 Mar 2024 07:42:50 +0100 Subject: [PATCH] README: clarify that `cache-hit` is 3-valued, not a boolean Evidence at https://github.com/itchyny/actions-cache-issues-1263 --- README.md | 9 +++++---- restore/README.md | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d515fa2..dbc8ddf 100644 --- a/README.md +++ b/README.md @@ -65,11 +65,12 @@ If you are using a `self-hosted` Windows runner, `GNU tar` and `zstd` are requir ### 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 diff --git a/restore/README.md b/restore/README.md index 272af2d..c52d6fd 100644 --- a/restore/README.md +++ b/restore/README.md @@ -14,13 +14,14 @@ The restore action restores a cache. It works similarly to the `cache` action ex ### 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-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 * `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)