summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaurav <[email protected]>2025-08-21 13:40:44 -0700
committerGitHub <[email protected]>2025-08-21 20:40:44 +0000
commit299bf58309a0950ac81ae051b02ec64463ebd153 (patch)
tree314ba81b8ce06b229f33ff37e45adbb64d1b6745
parent720eb81890c3d4b479accb851c77c4ee869d6024 (diff)
fix: handle extra text in gemini output for dedup workflow (#6771)
-rw-r--r--.github/workflows/gemini-automated-issue-dedup.yml9
1 files changed, 7 insertions, 2 deletions
diff --git a/.github/workflows/gemini-automated-issue-dedup.yml b/.github/workflows/gemini-automated-issue-dedup.yml
index a4a15d51..a3df97dc 100644
--- a/.github/workflows/gemini-automated-issue-dedup.yml
+++ b/.github/workflows/gemini-automated-issue-dedup.yml
@@ -185,8 +185,13 @@ jobs:
core.info(`Raw duplicates JSON: ${rawJson}`);
let parsedJson;
try {
- const trimmedJson = rawJson.replace(/^```(?:json)?\s*/, '').replace(/\s*```$/, '').trim();
- parsedJson = JSON.parse(trimmedJson);
+ const jsonStringMatch = rawJson.match(/{[\s\S]*}/);
+ if (!jsonStringMatch) {
+ core.setFailed(`Could not find JSON object in the output.\nRaw output: ${rawJson}`);
+ return;
+ }
+ const jsonString = jsonStringMatch[0];
+ parsedJson = JSON.parse(jsonString);
core.info(`Parsed duplicates JSON: ${JSON.stringify(parsedJson)}`);
} catch (err) {
core.setFailed(`Failed to parse duplicates JSON from Gemini output: ${err.message}\nRaw output: ${rawJson}`);