From 400ccf7b1c802c94127d8d8e0d5e9bdf9aab270c Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Sun, 2 Apr 2023 11:37:08 -0700 Subject: [PATCH] Update to retry undrafting canary (#47826) x-ref: https://github.com/vercel/next.js/actions/runs/4588934126/jobs/8103482375#step:10:658 --- scripts/start-release.js | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/scripts/start-release.js b/scripts/start-release.js index b9b122b2b5..eab5bcf6b7 100644 --- a/scripts/start-release.js +++ b/scripts/start-release.js @@ -84,18 +84,30 @@ async function main() { let { version } = require('../lerna.json') version = `v${version}` - const releaseUrlRes = await fetch( - `https://api.github.com/repos/vercel/next.js/releases`, - { - headers: ghHeaders, + let release + let releasesData + + // The release might take a minute to show up in + // the list so retry a bit + for (let i = 0; i < 6; i++) { + try { + const releaseUrlRes = await fetch( + `https://api.github.com/repos/vercel/next.js/releases`, + { + headers: ghHeaders, + } + ) + releasesData = await releaseUrlRes.json() + + release = releasesData.find((release) => release.tag_name === version) + } catch (err) { + console.log(`Fetching release failed`, err) } - ) - - const releasesData = await releaseUrlRes.json() - - const release = releasesData.find( - (release) => release.tag_name === version - ) + if (!release) { + console.log(`Retrying in 10s...`) + await new Promise((resolve) => setTimeout(resolve, 10 * 1000)) + } + } if (!release) { console.log(`Failed to find release`, releasesData)