ci: add retries to downloads for arm testing (#18526)
This commit is contained in:
parent
1e3e5a6619
commit
a31faaae61
1 changed files with 21 additions and 2 deletions
|
@ -49,10 +49,29 @@ async function downloadArtifact (name, buildNum, dest) {
|
|||
process.exit(1)
|
||||
} else {
|
||||
console.log(`Downloading ${artifactToDownload.url}.`)
|
||||
await downloadFile(artifactToDownload.url, dest)
|
||||
let downloadError = false
|
||||
await downloadWithRetry(artifactToDownload.url, dest).catch(err => {
|
||||
console.log(`Error downnloading ${artifactToDownload.url} :`, err)
|
||||
downloadError = true
|
||||
})
|
||||
if (!downloadError) {
|
||||
console.log(`Successfully downloaded ${name}.`)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function downloadWithRetry (url, directory) {
|
||||
let lastError
|
||||
for (let i = 0; i < 5; i++) {
|
||||
console.log(`Attempting to download ${url} - attempt #${(i + 1)}`)
|
||||
try {
|
||||
return await downloadFile(url, directory)
|
||||
} catch (err) {
|
||||
lastError = err
|
||||
}
|
||||
}
|
||||
throw lastError
|
||||
}
|
||||
|
||||
function downloadFile (url, directory) {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
|
Loading…
Reference in a new issue