ci/github-script/bot: fix needs reviewer label
The recent change to use the result of requesting reviewers for setting the `needs: reviewer` label caused a regression: It would not set the label for PRs where no reviewers were requested, because *too many were eligible*. Still - these PRs don't have reviewers, so they need attention otherwise - via the label.
This commit is contained in:
@@ -64,14 +64,6 @@ async function handleReviewers({
|
|||||||
).filter(Boolean)
|
).filter(Boolean)
|
||||||
log('reviewers - reviewers', reviewers.join(', '))
|
log('reviewers - reviewers', reviewers.join(', '))
|
||||||
|
|
||||||
if (reviewers.length > 15) {
|
|
||||||
log(
|
|
||||||
`Too many reviewers (${reviewers.join(', ')}), skipping review requests.`,
|
|
||||||
)
|
|
||||||
// false indicates, that we do have reviewers and don't need the "needs: reviewers" label.
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
const requested_reviewers = new Set(
|
const requested_reviewers = new Set(
|
||||||
pull_request.requested_reviewers.map(({ login }) => login),
|
pull_request.requested_reviewers.map(({ login }) => login),
|
||||||
)
|
)
|
||||||
@@ -88,6 +80,14 @@ async function handleReviewers({
|
|||||||
Array.from(existing_reviewers).join(', '),
|
Array.from(existing_reviewers).join(', '),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (reviewers.length > 15) {
|
||||||
|
log(
|
||||||
|
`Too many reviewers (${reviewers.join(', ')}), skipping review requests.`,
|
||||||
|
)
|
||||||
|
// Return a boolean on whether the "needs: reviewers" label should be set.
|
||||||
|
return existing_reviewers.size === 0 && requested_reviewers.size === 0
|
||||||
|
}
|
||||||
|
|
||||||
const non_requested_reviewers = new Set(reviewers)
|
const non_requested_reviewers = new Set(reviewers)
|
||||||
.difference(requested_reviewers)
|
.difference(requested_reviewers)
|
||||||
// We don't want to rerequest reviews from people who already reviewed.
|
// We don't want to rerequest reviews from people who already reviewed.
|
||||||
@@ -117,7 +117,7 @@ async function handleReviewers({
|
|||||||
|
|
||||||
// Return a boolean on whether the "needs: reviewers" label should be set.
|
// Return a boolean on whether the "needs: reviewers" label should be set.
|
||||||
return (
|
return (
|
||||||
new_reviewers.size === 0 &&
|
non_requested_reviewers.size === 0 &&
|
||||||
existing_reviewers.size === 0 &&
|
existing_reviewers.size === 0 &&
|
||||||
requested_reviewers.size === 0
|
requested_reviewers.size === 0
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user