Skip to content

Commit 87abbcd

Browse files
committed
exclude draft PRs
Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
1 parent 63bdf58 commit 87abbcd

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

.github/workflows/scripts/generate-codeowners-activity.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,20 +203,23 @@ function getComponentLabelsOnItem(item, componentLabels) {
203203
}
204204

205205
/**
206-
* Returns { requested, respondents } for a PR.
206+
* Returns { requested, respondents, draft } for a PR.
207207
* requested = users who were requested as reviewers (pending or already reviewed).
208208
* respondents = users who left a review or comment.
209+
* draft = whether the PR is a draft.
209210
* Only PRs where a code owner was requested count toward their stats.
210211
*/
211212
async function getReviewAndRequestedLogins(octokit, owner, repo, prNumber) {
212213
const respondents = new Set();
213214
const requested = new Set();
215+
let draft = false;
214216
try {
215217
const [{ data: prData }, { data: reviews }, { data: comments }] = await Promise.all([
216218
octokit.pulls.get({ owner, repo, pull_number: prNumber }),
217219
octokit.pulls.listReviews({ owner, repo, pull_number: prNumber }),
218220
octokit.issues.listComments({ owner, repo, issue_number: prNumber }),
219221
]);
222+
draft = prData.draft === true;
220223
for (const r of prData.requested_reviewers || []) {
221224
if (r.login) requested.add(r.login);
222225
}
@@ -232,7 +235,7 @@ async function getReviewAndRequestedLogins(octokit, owner, repo, prNumber) {
232235
} catch (e) {
233236
debug({ msg: 'getReviewAndRequestedLogins error', owner, repo, prNumber, error: e.message });
234237
}
235-
return { requested, respondents };
238+
return { requested, respondents, draft };
236239
}
237240

238241
async function getIssueCommentLogins(octokit, owner, repo, issueNumber) {
@@ -292,8 +295,9 @@ async function computePrStats(octokit, prs, labelToOwners, componentLabels, thir
292295
if (ownerToLabels.size === 0) continue;
293296

294297
if (processed === 0 || processed % PROGRESS_INTERVAL === 0) progress(`PRs: fetching #${pr.number} (${processed + 1})...`);
295-
const { requested: requestedReviewers, respondents } = await getReviewAndRequestedLogins(octokit, REPO_OWNER, REPO_NAME, pr.number);
298+
const { requested: requestedReviewers, respondents, draft } = await getReviewAndRequestedLogins(octokit, REPO_OWNER, REPO_NAME, pr.number);
296299
processed++;
300+
if (draft) continue;
297301

298302
for (const label of labelsOnPr) {
299303
const requestedOwnersForLabel = [];

0 commit comments

Comments
 (0)