From a69349171a454a12d9c584d55ace8f00cef49ab6 Mon Sep 17 00:00:00 2001 From: Matt Dale <9760375+matthewdale@users.noreply.github.com> Date: Mon, 30 Sep 2024 18:24:19 -0700 Subject: [PATCH] Assign Github PR reviews in round-robin order. (#510) --- .evergreen/github_app/assign-reviewer.mjs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.evergreen/github_app/assign-reviewer.mjs b/.evergreen/github_app/assign-reviewer.mjs index 6e71fb2b..c8977c24 100644 --- a/.evergreen/github_app/assign-reviewer.mjs +++ b/.evergreen/github_app/assign-reviewer.mjs @@ -74,7 +74,11 @@ for (let line of reviewersSource.split('\n')) { } reviewers.push(line); } -const reviewer = reviewers[Math.floor(Math.random() * reviewers.length)] +// Use the Github PR number to select the next reviewer in round-robin order. We +// assume that Github PR numbers are sequential and that the order of reviewer +// names is consistent across runs. Note that Github Issues must be disabled +// because they share the same number sequence with Github PRs. +const reviewer = reviewers[number % reviewers.length]; console.log("Assigning reviewer to PR..."); resp = await octokit.request("POST /repos/{owner}/{repo}/pulls/{number}/requested_reviewers", {