Skip to content

Commit 6779760

Browse files
committed
Rework worklfow + adapt tests to new workflow
1 parent a221e0f commit 6779760

File tree

5 files changed

+27
-17
lines changed

5 files changed

+27
-17
lines changed

lib/metadata_gen.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22

33
const LinkParser = require('./links');
44
const { EOL } = require('os');
5-
const {
6-
REVIEW_SOURCES: { FROM_REVIEW }
7-
} = require('./reviews');
85
/**
96
* @typedef {{reviewer: Collaborator}} Reviewer
107
*/
@@ -39,9 +36,7 @@ class MetadataGenerator {
3936
`PR-URL: ${prUrl}`,
4037
...fixes.map((fix) => `Fixes: ${fix}`),
4138
...refs.map((ref) => `Refs: ${ref}`),
42-
...reviewedBy
43-
.filter((r) => r.source === FROM_REVIEW)
44-
.map((r) => `Reviewed-By: ${r.reviewer.getContact()}`),
39+
...reviewedBy.map((r) => `Reviewed-By: ${r.reviewer.getContact()}`),
4540
'' // creates final EOL
4641
];
4742

lib/pr_checker.js

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ class PRChecker {
7777

7878
checkReviews() {
7979
const {
80-
pr, logger, reviewers: { rejected, approved }
80+
pr, logger, reviewers: { rejected, approved, commentApproved }
8181
} = this;
8282
let status = true;
8383

@@ -97,19 +97,15 @@ class PRChecker {
9797
} else {
9898
let notComm = approved.length;
9999
approved.map((r) => {
100-
if (r.source !== FROM_REVIEW) { notComm--; }
100+
if (r.review.source !== FROM_REVIEW) { notComm--; }
101101
});
102102
let hint = this.getTSCHint(approved);
103103
logger.info(`Approvals: ${notComm}${hint}`);
104104

105105
for (const { reviewer, review } of approved) {
106106
if (review.source === FROM_COMMENT) {
107-
logger.warn(
108-
`${reviewer.getName()} approved in via LGTM in comments`);
109-
}
110-
if (review.source === FROM_REVIEW_COMMENT) {
111-
logger.warn(
112-
`${reviewer.getName()} approved in via LGTM in commented review`);
107+
logger.info(
108+
`${reviewer.getName()}) approved in via LGTM in comments`);
113109
}
114110
}
115111

@@ -122,6 +118,20 @@ class PRChecker {
122118
}
123119
}
124120
}
121+
if (commentApproved && commentApproved.length !== 0) {
122+
let notComm = approved.length;
123+
approved.map((r) => {
124+
if (r.review.source !== FROM_REVIEW_COMMENT) { notComm--; }
125+
});
126+
let hint = this.getTSCHint(approved);
127+
logger.info(`LGTM in commented review: ${notComm}${hint}`);
128+
for (const { reviewer, review } of commentApproved) {
129+
if (review.source === FROM_REVIEW_COMMENT) {
130+
logger.info(
131+
`${reviewer.getName()} approved in via LGTM in commented review`);
132+
}
133+
}
134+
}
125135

126136
return status;
127137
}

lib/reviews.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,13 +134,16 @@ class ReviewAnalyzer {
134134
const reviewers = this.updateMapByRawReviews(ghReviews);
135135
const result = {
136136
approved: [],
137+
commentApproved: [],
137138
rejected: []
138139
};
139140
const collaborators = this.collaborators;
140141
for (const [ login, review ] of reviewers) {
141142
const reviewer = collaborators.get(login.toLowerCase());
142-
if (review.state === APPROVED || this.isApprovedInComment(review)) {
143-
result.approved.push({ reviewer, review });
143+
if (review.state === APPROVED) {
144+
result.approved.push({reviewer, review});
145+
} else if (this.isApprovedInComment(review)) {
146+
result.commentApproved.push({reviewer, review});
144147
} else if (review.state === CHANGES_REQUESTED) {
145148
result.rejected.push({ reviewer, review });
146149
}

test/fixtures/data.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ patchPrototype(rejected, 'review', Review.prototype);
1313

1414
const allGreenReviewers = {
1515
approved,
16+
commentApproved: [],
1617
rejected: []
1718
};
1819
const rejectedReviewers = {
1920
rejected,
21+
commentApproved: [],
2022
approved: []
2123
};
2224

test/unit/pr_checker.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ describe('PRChecker', () => {
8383
],
8484
info: [
8585
['Rejections: 0'],
86-
['Approvals: 3, 1 from TSC (bar)'],
86+
['Approvals: 2'],
8787
['Bar User(bar)) approved in via LGTM in comments']
8888
],
8989
error: [],

0 commit comments

Comments
 (0)