summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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}`);