From c8190078fd3715a1e45d5cf757e565fa710cf048 Mon Sep 17 00:00:00 2001 From: James Braza Date: Wed, 1 Oct 2025 09:22:18 -0700 Subject: [PATCH] Updated saveCache to check for changes in UV_CACHE_DIR --- src/save-cache.ts | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/save-cache.ts b/src/save-cache.ts index caf0633..fa1f7e6 100644 --- a/src/save-cache.ts +++ b/src/save-cache.ts @@ -52,14 +52,29 @@ async function saveCache(): Promise { await pruneCache(); } - core.info(`Saving cache path: ${cacheLocalPath}`); - if (!fs.existsSync(cacheLocalPath) && !ignoreNothingToCache) { + // Check if UV_CACHE_DIR has been changed externally from this action + let actualCachePath = cacheLocalPath; + if (process.env.UV_CACHE_DIR !== cacheLocalPath) { + if (process.env.UV_CACHE_DIR) { + core.warning( + `The environment variable UV_CACHE_DIR has been changed to "${process.env.UV_CACHE_DIR}", by an action or step running after astral-sh/setup-uv. This can lead to unexpected behavior. If you expected this to happen set the cache-local-path input to "${process.env.UV_CACHE_DIR}" instead of "${cacheLocalPath}".` + ); + actualCachePath = process.env.UV_CACHE_DIR; + } else { + core.warning( + `The environment variable UV_CACHE_DIR has been unset, by an action or step running after astral-sh/setup-uv. This can lead to unexpected behavior. If you expected this to happen unset cache-local-path input from "${cacheLocalPath}".` + ); + } + } + + core.info(`Saving cache path: ${actualCachePath}`); + if (!fs.existsSync(actualCachePath) && !ignoreNothingToCache) { throw new Error( - `Cache path ${cacheLocalPath} does not exist on disk. This likely indicates that there are no dependencies to cache. Consider disabling the cache input if it is not needed.`, + `Cache path ${actualCachePath} does not exist on disk. This likely indicates that there are no dependencies to cache. Consider disabling the cache input if it is not needed.`, ); } try { - await cache.saveCache([cacheLocalPath], cacheKey); + await cache.saveCache([actualCachePath], cacheKey); core.info(`cache saved with the key: ${cacheKey}`); } catch (e) { if (