Unverified Commit 4658d0d5 authored by Wolfgang Walther's avatar Wolfgang Walther
Browse files

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.
parent a891b781
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -64,14 +64,6 @@ async function handleReviewers({
  ).filter(Boolean)
  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(
    pull_request.requested_reviewers.map(({ login }) => login),
  )
@@ -88,6 +80,14 @@ async function handleReviewers({
    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)
    .difference(requested_reviewers)
    // 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 (
    new_reviewers.size === 0 &&
    non_requested_reviewers.size === 0 &&
    existing_reviewers.size === 0 &&
    requested_reviewers.size === 0
  )