Skip to content

Commit 7e22664

Browse files
authored
Update mirror-changelog.yml
1 parent 47fa978 commit 7e22664

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

.github/workflows/mirror-changelog.yml

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,24 @@ jobs:
8484
if (itemMatch) {
8585
let originalContent = itemMatch[1];
8686
87-
// remove zero-width space character
87+
// This is a two-step process to prevent `release-please` from
88+
// creating mangled, doubly-nested links for PRs.
89+
90+
// STEP 1: CLEAN THE INPUT.
91+
// The source changelog contains a zero-width space as an HTML entity (`​`).
92+
// This breaks the regex in the next step, so we must remove it first.
93+
// E.g., "[#​1770](...)" becomes "[#1770](...)"
8894
originalContent = originalContent.replace(/​/g, '');
8995
90-
// Change issue links from #1234 to genai-toolbox#1234
96+
// STEP 2: PROTECT THE OUTPUT.
97+
// `release-please` aggressively tries to auto-link any text that looks like `#1234`.
98+
// To prevent this, we insert an invisible Unicode zero-width space (`\u200B`)
99+
// between the '#' and the number in the link text. This breaks the parser's
100+
// pattern matching without changing the visual appearance of the link.
101+
// E.g., "[#1770](...)" becomes "[genai-toolbox#​1770](...)"
91102
originalContent = originalContent.replace(/\[#(\d+)\](\([^)]+\))/g, '[genai-toolbox#\u200B$1]$2');
103+
92104
const lineAsLowerCase = originalContent.toLowerCase();
93-
94105
const hasPrefix = prefixesToFilter.some(prefix => lineAsLowerCase.includes(prefix));
95106
96107
// Check if the line includes ANY of the required keywords

0 commit comments

Comments
 (0)