fix(release): accept repeated PR title suffixes (#120948)

This commit is contained in:
Vincent Koc
2026-08-09 14:49:39 +08:00
committed by GitHub
parent dba99b355b
commit 1b404a1755
2 changed files with 5 additions and 1 deletions
@@ -684,7 +684,7 @@ export function contributionRecordTarget(section) {
}
export function pullRequestTitleFromCommitSubject(subject, number) {
const match = subject.match(/^(?<title>\S(?:.*\S)?) \(#(?<number>[1-9]\d*)\)$/u);
const match = subject.match(/^(?<title>\S(?:.*?\S)?)(?<pr> \(#(?<number>[1-9]\d*)\))\k<pr>*$/u);
return match?.groups?.number === String(number) ? match.groups.title : undefined;
}
@@ -59,8 +59,12 @@ describe("release-note verification", () => {
it("accepts only canonical commit PR suffixes", () => {
expect(pullRequestTitleFromCommitSubject("Fix status (#102147)", 102147)).toBe("Fix status");
expect(pullRequestTitleFromCommitSubject("Fix status (#102147) (#102147)", 102147)).toBe(
"Fix status",
);
expect(pullRequestTitleFromCommitSubject("Fix status(#102147)", 102147)).toBeUndefined();
expect(pullRequestTitleFromCommitSubject("Fix status (#0102147)", 102147)).toBeUndefined();
expect(pullRequestTitleFromCommitSubject("Fix status (#0)", 0)).toBeUndefined();
expect(pullRequestTitleFromCommitSubject(" Fix status (#102147)", 102147)).toBeUndefined();
expect(pullRequestTitleFromCommitSubject("Fix status (#102147) ", 102147)).toBeUndefined();
expect(pullRequestTitleFromCommitSubject("Fix status (#102148)", 102147)).toBeUndefined();