From 8afc46106460d601aa0e7b63a6d2ea8886acda9a Mon Sep 17 00:00:00 2001 From: AbbanMustafa Date: Wed, 10 Jun 2026 16:48:58 -0400 Subject: [PATCH 1/3] [build-tools] - bubble validation error for when caches exceed max size --- .../build-tools/src/steps/functions/saveCache.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/build-tools/src/steps/functions/saveCache.ts b/packages/build-tools/src/steps/functions/saveCache.ts index 16d968bb26..5f0de439d0 100644 --- a/packages/build-tools/src/steps/functions/saveCache.ts +++ b/packages/build-tools/src/steps/functions/saveCache.ts @@ -141,6 +141,10 @@ export async function uploadCacheAsync({ return; } const textResult = await asyncResult(response.text()); + const errorMessage = extractValidationErrorMessage(textResult.value); + if (errorMessage) { + throw new Error(errorMessage); + } throw new Error(`Unexpected response from server (${response.status}): ${textResult.value}`); } @@ -231,6 +235,16 @@ export async function uploadPublicCacheAsync({ logger.info(`Uploaded cache archive to ${archivePath} (${formatBytes(size)}).`); } +function extractValidationErrorMessage(body: string): string | undefined { + try { + const { errors } = JSON.parse(body); + if (errors?.[0]?.code === 'VALIDATION_ERROR') { + return errors[0].message; + } + } catch {} + return undefined; +} + export async function compressCacheAsync({ paths, workingDirectory, From b024609a5ee9fa0fb893d43653aecacf94f9a0b0 Mon Sep 17 00:00:00 2001 From: AbbanMustafa Date: Wed, 10 Jun 2026 17:03:32 -0400 Subject: [PATCH 2/3] [build-tools] - bubble validation error for when caches exceed max size --- packages/build-tools/src/steps/functions/saveCache.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/build-tools/src/steps/functions/saveCache.ts b/packages/build-tools/src/steps/functions/saveCache.ts index 5f0de439d0..58f986ebee 100644 --- a/packages/build-tools/src/steps/functions/saveCache.ts +++ b/packages/build-tools/src/steps/functions/saveCache.ts @@ -235,7 +235,7 @@ export async function uploadPublicCacheAsync({ logger.info(`Uploaded cache archive to ${archivePath} (${formatBytes(size)}).`); } -function extractValidationErrorMessage(body: string): string | undefined { +function extractValidationErrorMessage(body: string | undefined): string | undefined { try { const { errors } = JSON.parse(body); if (errors?.[0]?.code === 'VALIDATION_ERROR') { From 8c45fdfd7e00e4883be1ca75fc7c98a2b1427aa6 Mon Sep 17 00:00:00 2001 From: AbbanMustafa Date: Thu, 11 Jun 2026 10:34:23 -0400 Subject: [PATCH 3/3] [build-tools] - bubble validation error for when caches exceed max size --- packages/build-tools/src/steps/functions/saveCache.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/build-tools/src/steps/functions/saveCache.ts b/packages/build-tools/src/steps/functions/saveCache.ts index 58f986ebee..7595af23d5 100644 --- a/packages/build-tools/src/steps/functions/saveCache.ts +++ b/packages/build-tools/src/steps/functions/saveCache.ts @@ -236,6 +236,9 @@ export async function uploadPublicCacheAsync({ } function extractValidationErrorMessage(body: string | undefined): string | undefined { + if (!body) { + return undefined; + } try { const { errors } = JSON.parse(body); if (errors?.[0]?.code === 'VALIDATION_ERROR') {