diff options
| author | Gaurav <[email protected]> | 2025-08-21 13:40:44 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-21 20:40:44 +0000 |
| commit | 299bf58309a0950ac81ae051b02ec64463ebd153 (patch) | |
| tree | 314ba81b8ce06b229f33ff37e45adbb64d1b6745 /.github | |
| parent | 720eb81890c3d4b479accb851c77c4ee869d6024 (diff) | |
fix: handle extra text in gemini output for dedup workflow (#6771)
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/gemini-automated-issue-dedup.yml | 9 |
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}`); |
