|
52 | 52 | pull_number = context.issue.number;
|
53 | 53 | }
|
54 | 54 |
|
| 55 | + console.log(`owner is ${owner}`); |
| 56 | + console.log(`pull_number is ${pull_number}`); |
55 | 57 |
|
56 | 58 | // Get parsed data
|
| 59 | + let requiredApprovers; |
57 | 60 | try {
|
58 | 61 | const tomlContent = fs.readFileSync('.github/pull_requests.toml', 'utf8');
|
59 | 62 | console.log('TOML content:', tomlContent);
|
@@ -85,23 +88,22 @@ jobs:
|
85 | 88 | );
|
86 | 89 |
|
87 | 90 | const requiredApprovals = 2;
|
88 |
| - const currentCountfromCommittee = Array.from(approvers) |
89 |
| - .filter(approver => requiredApprovers.includes(approver)) |
90 |
| - .length; |
91 |
| -
|
92 |
| - // TODO: Improve logging and messaging to the user |
93 |
| - console.log('PR Approvers:', Array.from(approvers)); |
94 |
| - console.log('Required Approvers:', requiredApprovals); |
| 91 | + const committeeApprovers = Array.from(approvers) |
| 92 | + .filter(approver => requiredApprovers.includes(approver)); |
| 93 | + const currentCountfromCommittee = committeeApprovers.length; |
95 | 94 |
|
96 | 95 | // Core logic that checks if the approvers are in the committee
|
97 |
| - const checkName = 'PR Approval Status'; |
98 |
| - const conclusion = (approvers.size >= requiredApprovals && currentCountfromCommittee >= 2) ? 'success' : 'failure'; |
99 |
| - const output = { |
100 |
| - title: checkName, |
101 |
| - summary: `PR has ${approvers.size} total approvals and ${requiredApprovals} required approvals.`, |
102 |
| - text: `Approvers: ${Array.from(approvers).join(', ')}\nRequired Approvers: ${requiredApprovers.join(', ')}` |
103 |
| - }; |
| 96 | + const conclusion = (currentCountfromCommittee >= 2) ? 'success' : 'failure'; |
104 | 97 |
|
| 98 | + console.log('PR Approval Status'); |
| 99 | + console.log(`PR has ${approvers.size} total approvals and ${currentCountfromCommittee} required approvals from the committee.`); |
| 100 | + |
| 101 | + console.log(`Committee Members: [${requiredApprovers.join(', ')}]`); |
| 102 | + console.log(`Committee Approvers: ${committeeApprovers.length === 0 ? 'NONE' : `[${committeeApprovers.join(', ')}]`}`); |
| 103 | + console.log(`All Approvers: ${approvers.size === 0 ? 'NONE' : `[${Array.from(approvers).join(', ')}]`}`); |
| 104 | + |
105 | 105 | if (conclusion === 'failure') {
|
106 |
| - core.setFailed(`PR needs at least ${requiredApprovals} total approvals and 2 required approvals. Current approvals: ${approvers.size}, Required approvals: ${requiredApprovals}`); |
| 106 | + core.setFailed(`PR needs 2 approvals from committee members, but it has ${currentCountfromCommittee}`); |
| 107 | + } else { |
| 108 | + core.info('PR approval check passed successfully.'); |
107 | 109 | }
|
0 commit comments