From 843a9f59fb47ecf8779a9816d2e9107418a742b0 Mon Sep 17 00:00:00 2001 From: Gauthier Petetin Date: Mon, 4 Aug 2025 16:12:09 +0200 Subject: [PATCH] fix(action): add several checks to make sure we find the release branch or we are informed if we don't --- .github/scripts/generate-rc-commits.mjs | 27 ++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/.github/scripts/generate-rc-commits.mjs b/.github/scripts/generate-rc-commits.mjs index 0be37e28..ed7d2126 100644 --- a/.github/scripts/generate-rc-commits.mjs +++ b/.github/scripts/generate-rc-commits.mjs @@ -80,6 +80,31 @@ async function filterCommitsByTeam(platform, branchA, branchB) { try { const git = simpleGit(); + // Fetch all branches and tags to ensure references exist + await git.fetch(['--all', '--tags', '--prune']); + + // Check if branchA exists + let branchAExists = true; + try { + await git.revparse([branchA]); + } catch (e) { + branchAExists = false; + } + + // Check if branchB exists + let branchBExists = true; + try { + await git.revparse([branchB]); + } catch (e) { + branchBExists = false; + } + + if (!branchAExists || !branchBExists) { + throw new Error( + `Cannot find reference(s):${!branchAExists ? ` ${branchA}` : ''}${!branchBExists ? ` ${branchB}` : ''}.` + ); + } + const logOptions = { from: branchB, to: branchA, @@ -223,7 +248,7 @@ async function main() { `Generating CSV file for commits between ${branchA} and ${branchB} on ${platform} platform...`, ); - const commitsByTeam = await filterCommitsByTeam(platform, branchA, branchB); + const commitsByTeam = await filterCommitsByTeam(platform, `origin/${branchA}`, `origin/${branchB}`); if (Object.keys(commitsByTeam).length === 0) { console.log('No commits found.');