1
0
Fork 0
mirror of https://code.forgejo.org/actions/download-artifact synced 2025-06-09 21:42:22 +02:00

Do not construct all promises immediately

This commit is contained in:
Serious-senpai 2025-04-13 15:02:25 +00:00
parent 95815c38cf
commit 0b0bc298b5

View file

@ -111,7 +111,9 @@ export async function run(): Promise<void> {
}) })
} }
const downloadPromises = artifacts.map(artifact => ({ const chunkedArtifacts = chunk(artifacts, PARALLEL_DOWNLOADS)
for (const chunk of chunkedArtifacts) {
const chunkPromises = chunk.map(artifact => ({
name: artifact.name, name: artifact.name,
promise: artifactClient.downloadArtifact(artifact.id, { promise: artifactClient.downloadArtifact(artifact.id, {
...options, ...options,
@ -122,11 +124,7 @@ export async function run(): Promise<void> {
expectedHash: artifact.digest expectedHash: artifact.digest
}) })
})) }))
const results = await Promise.all(chunkPromises.map(item => item.promise))
const chunkedPromises = chunk(downloadPromises, PARALLEL_DOWNLOADS)
for (const chunk of chunkedPromises) {
const chunkPromises = chunk.map(item => item.promise)
const results = await Promise.all(chunkPromises)
for (let i = 0; i < results.length; i++) { for (let i = 0; i < results.length; i++) {
const outcome = results[i] const outcome = results[i]