Skip to content

Commit bb8f38e

Browse files
committed
fix(ci): regex to catch combination of related issues workflow
1 parent b2fa2fb commit bb8f38e

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

.github/scripts/label_related_issue.js

+15-16
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,26 @@ module.exports = async ({github, context}) => {
44
const releaseLabel = process.env.RELEASE_LABEL;
55
const maintainersTeam = process.env.MAINTAINERS_TEAM
66

7-
const RELATED_ISSUE_REGEX = /Issue number:.+(\d)/
7+
const RELATED_ISSUE_REGEX = /Issue number:[^\d\r\n]+(?<issue>\d+)/;
88

9-
const matcher = new RegExp(RELATED_ISSUE_REGEX)
10-
const isMatch = matcher.exec(prBody)
11-
if (isMatch != null) {
12-
let relatedIssueNumber = isMatch[1]
13-
console.info(`Auto-labeling related issue ${relatedIssueNumber} for release`)
14-
15-
return await github.rest.issues.addLabels({
16-
issue_number: relatedIssueNumber,
17-
owner: context.repo.owner,
18-
repo: context.repo.repo,
19-
labels: [releaseLabel]
20-
})
21-
} else {
22-
let msg = `${maintainersTeam} No related issues found. Please ensure '${releaseLabel}' label is applied before releasing.`;
9+
const isMatch = RELATED_ISSUE_REGEX.exec(body);
10+
if (!isMatch) {
11+
core.setFailed(`Unable to find related issue for PR number ${prNumber}.\n\n Body details: ${prBody}`);
2312
return await github.rest.issues.createComment({
2413
owner: context.repo.owner,
2514
repo: context.repo.repo,
26-
body: msg,
15+
body: `${maintainersTeam} No related issues found. Please ensure '${releaseLabel}' label is applied before releasing.`,
2716
issue_number: prNumber,
2817
});
2918
}
19+
20+
const { groups: {relatedIssueNumber} } = isMatch
21+
22+
core.info(`Auto-labeling related issue ${relatedIssueNumber} for release`)
23+
return await github.rest.issues.addLabels({
24+
issue_number: relatedIssueNumber,
25+
owner: context.repo.owner,
26+
repo: context.repo.repo,
27+
labels: [releaseLabel]
28+
})
3029
}

0 commit comments

Comments
 (0)