diff --git a/dist/index.js b/dist/index.js
index 2f24cb9..55201cc 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -118769,21 +118769,27 @@ function run() {
                 core.info(`- ${artifact.name} (ID: ${artifact.id}, Size: ${artifact.size})`);
             });
         }
-        const downloadPromises = artifacts.map(artifact => artifact_1.default.downloadArtifact(artifact.id, Object.assign(Object.assign({}, options), { path: isSingleArtifactDownload || inputs.mergeMultiple
-                ? resolvedPath
-                : path.join(resolvedPath, artifact.name), expectedHash: artifact.digest })));
+        const downloadPromises = artifacts.map(artifact => ({
+            name: artifact.name,
+            promise: artifact_1.default.downloadArtifact(artifact.id, Object.assign(Object.assign({}, options), { path: isSingleArtifactDownload || inputs.mergeMultiple
+                    ? resolvedPath
+                    : path.join(resolvedPath, artifact.name), expectedHash: artifact.digest }))
+        }));
         const chunkedPromises = (0, exports.chunk)(downloadPromises, PARALLEL_DOWNLOADS);
         for (const chunk of chunkedPromises) {
-            const result = yield Promise.all(chunk);
-            for (const outcome of result) {
-                if (outcome.digestMismatch) {
-                    core.warning(`Artifact digest validation failed. Please verify the integrity of the artifact.`);
+            const chunkPromises = chunk.map(item => item.promise);
+            const results = yield Promise.all(chunkPromises);
+            for (let i = 0; i < results.length; i++) {
+                const outcome = results[i];
+                const artifactName = chunk[i].name;
+                if (!outcome.digestMismatch) {
+                    core.warning(`Artifact '${artifactName}' digest validation failed. Please verify the integrity of the artifact.`);
                 }
             }
+            core.info(`Total of ${artifacts.length} artifact(s) downloaded`);
+            core.setOutput(constants_1.Outputs.DownloadPath, resolvedPath);
+            core.info('Download artifact has finished successfully');
         }
-        core.info(`Total of ${artifacts.length} artifact(s) downloaded`);
-        core.setOutput(constants_1.Outputs.DownloadPath, resolvedPath);
-        core.info('Download artifact has finished successfully');
     });
 }
 run().catch(err => core.setFailed(`Unable to download artifact(s): ${err.message}`));
diff --git a/src/download-artifact.ts b/src/download-artifact.ts
index 68471c0..8ca8bb1 100644
--- a/src/download-artifact.ts
+++ b/src/download-artifact.ts
@@ -111,8 +111,9 @@ async function run(): Promise<void> {
     })
   }
 
-  const downloadPromises = artifacts.map(artifact =>
-    artifactClient.downloadArtifact(artifact.id, {
+  const downloadPromises = artifacts.map(artifact => ({
+    name: artifact.name,
+    promise: artifactClient.downloadArtifact(artifact.id, {
       ...options,
       path:
         isSingleArtifactDownload || inputs.mergeMultiple
@@ -120,23 +121,28 @@ async function run(): Promise<void> {
           : path.join(resolvedPath, artifact.name),
       expectedHash: artifact.digest
     })
-  )
+  }))
 
   const chunkedPromises = chunk(downloadPromises, PARALLEL_DOWNLOADS)
   for (const chunk of chunkedPromises) {
-    const result = await Promise.all(chunk)
-    for (const outcome of result) {
-      if (outcome.digestMismatch) {
+    const chunkPromises = chunk.map(item => item.promise)
+    const results = await Promise.all(chunkPromises)
+
+    for (let i = 0; i < results.length; i++) {
+      const outcome = results[i]
+      const artifactName = chunk[i].name
+
+      if (!outcome.digestMismatch) {
         core.warning(
-          `Artifact digest validation failed. Please verify the integrity of the artifact.`
+          `Artifact '${artifactName}' digest validation failed. Please verify the integrity of the artifact.`
         )
       }
     }
-  }
 
-  core.info(`Total of ${artifacts.length} artifact(s) downloaded`)
-  core.setOutput(Outputs.DownloadPath, resolvedPath)
-  core.info('Download artifact has finished successfully')
+    core.info(`Total of ${artifacts.length} artifact(s) downloaded`)
+    core.setOutput(Outputs.DownloadPath, resolvedPath)
+    core.info('Download artifact has finished successfully')
+  }
 }
 
 run().catch(err =>