diff --git a/src/cacheHttpClient.ts b/src/cacheHttpClient.ts index 89bca63..4defdf8 100644 --- a/src/cacheHttpClient.ts +++ b/src/cacheHttpClient.ts @@ -201,11 +201,19 @@ async function uploadFile( const resourceUrl = getCacheApiUrl() + "caches/" + cacheId.toString(); const fd = fs.openSync(archivePath, "r"); - const concurrency = Number(process.env["CACHE_UPLOAD_CONCURRENCY"]) ?? 4; // # of HTTP requests in parallel - const MAX_CHUNK_SIZE = - Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) ?? 32 * 1024 * 1024; // 32 MB Chunks - core.debug(`Concurrency: ${concurrency} and Chunk Size: ${MAX_CHUNK_SIZE}`); + let concurrency = Number(process.env["CACHE_UPLOAD_CONCURRENCY"]); // # of HTTP requests in parallel + if (Number.isNaN(concurrency) || concurrency < 0) { + concurrency = 4; + } + let MAX_CHUNK_SIZE = + Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]); + + if (Number.isNaN(MAX_CHUNK_SIZE) || MAX_CHUNK_SIZE < 0) { + concurrency = 32 * 1024 * 1024; // 32 MB Chunks + } + + core.debug(`Concurrency: ${concurrency} and Chunk Size: ${MAX_CHUNK_SIZE}`); const parallelUploads = [...new Array(concurrency).keys()]; core.debug("Awaiting all uploads"); let offset = 0;