diff --git a/dist/restore/index.js b/dist/restore/index.js index 983c7a3..efe2e13 100644 --- a/dist/restore/index.js +++ b/dist/restore/index.js @@ -1624,8 +1624,8 @@ function saveCache(cacheId, archivePath) { // Upload Chunks const stream = fs.createReadStream(archivePath); let streamIsClosed = false; - stream.on("close", () => { - core.debug("Stream is closed"); + stream.on("end", () => { + core.debug("Stream is ended"); streamIsClosed = true; }); const resourceUrl = getCacheApiUrl() + cacheId.toString(); @@ -1634,6 +1634,10 @@ function saveCache(cacheId, archivePath) { while (!streamIsClosed) { core.debug(`Offset: ${offset}`); const chunk = stream.read(MAX_CHUNK_SIZE); + if (chunk == null) { + core.debug(`Chunk is null, reading is over?`); + break; + } uploads.push(uploadChunk(restClient, resourceUrl, chunk, offset)); offset += MAX_CHUNK_SIZE; } diff --git a/dist/save/index.js b/dist/save/index.js index 6e08235..320fc1e 100644 --- a/dist/save/index.js +++ b/dist/save/index.js @@ -1624,8 +1624,8 @@ function saveCache(cacheId, archivePath) { // Upload Chunks const stream = fs.createReadStream(archivePath); let streamIsClosed = false; - stream.on("close", () => { - core.debug("Stream is closed"); + stream.on("end", () => { + core.debug("Stream is ended"); streamIsClosed = true; }); const resourceUrl = getCacheApiUrl() + cacheId.toString(); @@ -1634,6 +1634,10 @@ function saveCache(cacheId, archivePath) { while (!streamIsClosed) { core.debug(`Offset: ${offset}`); const chunk = stream.read(MAX_CHUNK_SIZE); + if (chunk == null) { + core.debug(`Chunk is null, reading is over?`); + break; + } uploads.push(uploadChunk(restClient, resourceUrl, chunk, offset)); offset += MAX_CHUNK_SIZE; } diff --git a/src/cacheHttpClient.ts b/src/cacheHttpClient.ts index dbd4a59..b8aade7 100644 --- a/src/cacheHttpClient.ts +++ b/src/cacheHttpClient.ts @@ -185,8 +185,8 @@ export async function saveCache( // Upload Chunks const stream = fs.createReadStream(archivePath); let streamIsClosed = false; - stream.on("close", () => { - core.debug("Stream is closed"); + stream.on("end", () => { + core.debug("Stream is ended"); streamIsClosed = true; }); @@ -196,6 +196,10 @@ export async function saveCache( while (!streamIsClosed) { core.debug(`Offset: ${offset}`); const chunk: Buffer = stream.read(MAX_CHUNK_SIZE); + if (chunk == null) { + core.debug(`Chunk is null, reading is over?`); + break; + } uploads.push(uploadChunk(restClient, resourceUrl, chunk, offset)); offset += MAX_CHUNK_SIZE; }