3
0
Fork 0
mirror of https://github.com/Swatinem/rust-cache synced 2026-01-14 23:56:16 +00:00

Compare case-insenitively for full cache key match (#303)

Some self-hosted (or otherwise non-github-hosted) runners are
non-case-preserving for cache keys. To support such configurations, set the
`cache-hit` output variable to `true` if the found cache key matches
case-insenitively.

Fixes: https://github.com/Swatinem/rust-cache/issues/302
This commit is contained in:
Kieron Briggs 2026-01-13 02:10:32 +11:00 committed by GitHub
parent 5e4a767433
commit 11da8522bc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 2 deletions

View file

@ -151483,7 +151483,9 @@ async function run() {
lookupOnly,
});
if (restoreKey) {
const match = restoreKey === key;
const match = restoreKey.localeCompare(key, undefined, {
sensitivity: "accent"
}) === 0;
lib_core.info(`${lookupOnly ? "Found" : "Restored from"} cache key "${restoreKey}" full match: ${match}.`);
if (!match) {
// pre-clean the target directory on cache mismatch

View file

@ -42,7 +42,9 @@ async function run() {
lookupOnly,
});
if (restoreKey) {
const match = restoreKey === key;
const match = restoreKey.localeCompare(key, undefined, {
sensitivity: "accent"
}) === 0;
core.info(`${lookupOnly ? "Found" : "Restored from"} cache key "${restoreKey}" full match: ${match}.`);
if (!match) {
// pre-clean the target directory on cache mismatch