From 848bb97ba7caf498bd19d107f0805d1ac25d6325 Mon Sep 17 00:00:00 2001 From: Conrad Irwin Date: Fri, 26 Apr 2024 17:18:17 -0600 Subject: [PATCH] release notes vN (#11077) Make it more likely the draft release notes work... Release Notes: - N/A --- script/draft-release-notes | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/script/draft-release-notes b/script/draft-release-notes index b376044106..287997ff79 100755 --- a/script/draft-release-notes +++ b/script/draft-release-notes @@ -27,13 +27,18 @@ async function main() { if (parts[2] == 0) { priorVersion = [parts[0], parts[1] - 1, 0].join("."); } - } else if (!tagExists("v${priorVersion}")) { + } else if (!ensureTag(`v${priorVersion}`)) { console.log("Copy the release notes from preview."); process.exit(0); } let [tag, priorTag] = [`v${version}${suffix}`, `v${priorVersion}${suffix}`]; + if (!ensureTag(tag) || !ensureTag(priorTag)) { + console.log("Could not draft release notes, missing a tag:", tag, priorTag); + process.exit(0); + } + const newCommits = getCommits(priorTag, tag); let releaseNotes = []; @@ -99,11 +104,17 @@ function getCommits(oldTag, newTag) { return pullRequestNumbers; } -function tagExists(tag) { +function ensureTag(tag) { try { execFileSync("git", ["rev-parse", "--verify", tag]); return true; } catch (e) { - return false; + try { + execFileSync("git"[("fetch", "origin", "--shallow-exclude", tag)]); + execFileSync("git"[("fetch", "origin", "--deepen", "1")]); + return true; + } catch (e) { + return false; + } } }