mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-07 06:32:08 +08:00
GH Actions PR review bot: Check only for substrings in checkbox text when validating PR template (#31262)
check only for substrings in checkbox text old-commit-hash: 628c829d195434a99c1d83e8119cf0d4d53c167c
This commit is contained in:
@@ -89,6 +89,13 @@ jobs:
|
||||
return subset.every((item) => superset.includes(item));
|
||||
};
|
||||
|
||||
// Utility function to check if a list of checkboxes is a subset of another list of checkboxes
|
||||
isCheckboxSubset = (templateCheckBoxTexts, prTextCheckBoxTexts) => {
|
||||
// Check if each template checkbox text is a substring of at least one PR checkbox text
|
||||
// (user should be allowed to add additional text)
|
||||
return templateCheckBoxTexts.every((item) => prTextCheckBoxTexts.some((element) => element.includes(item)))
|
||||
}
|
||||
|
||||
// Get filenames of all currently checked-in PR templates
|
||||
const template_contents = await github.rest.repos.getContent({
|
||||
owner: context.repo.owner,
|
||||
@@ -146,7 +153,7 @@ jobs:
|
||||
template.checkboxes + "]"
|
||||
);
|
||||
if (
|
||||
isSubset(template.checkboxes, pr_checkboxes) &&
|
||||
isCheckboxSubset(template.checkboxes, pr_checkboxes) &&
|
||||
isSubset(template.headings, pr_headings)
|
||||
) {
|
||||
console.debug("Found matching template!");
|
||||
|
||||
Reference in New Issue
Block a user