diff --git a/release.js b/release.js index cd453b7..c70e9a5 100644 --- a/release.js +++ b/release.js @@ -134,7 +134,7 @@ function createGitLabRelease(tag, releaseLinks) { if (err.message.includes('HTTP 409')) { console.log(`[CI Sync] Release ${tag} already exists. Appending our OS-specific files to it...`); let promiseChain = Promise.resolve(); - + for (const link of releaseLinks) { promiseChain = promiseChain.then(() => { return sendRequest('POST', `/api/v4/projects/${PROJECT_ID}/releases/${encodeURIComponent(tag)}/assets/links`, { @@ -142,8 +142,11 @@ function createGitLabRelease(tag, releaseLinks) { url: link.url, link_type: link.link_type }).catch(e => { - if (!e.message.includes('HTTP 409')) throw e; - console.log(`[CI Sync] Link ${link.name} already attached. Skipping.`); + if (e.message.includes('already been taken') || e.message.includes('HTTP 409') || e.message.includes('HTTP 400')) { + console.log(`[CI Sync] Asset link '${link.name}' is already attached. Skipping.`); + return Promise.resolve(); + } + throw e; }); }); }