|
9 | 9 | types: [submitted]
|
10 | 10 | workflow_dispatch:
|
11 | 11 |
|
| 12 | +# Without these permissions, we get a 403 error from github |
| 13 | +# for trying to modify the pull request for newer project. |
| 14 | +# Source: https://stackoverflow.com/a/76994510 |
| 15 | +permissions: write-all |
| 16 | + |
12 | 17 | jobs:
|
13 | 18 | check-approvals:
|
14 | 19 | if: github.event.review.state == 'APPROVED' || github.event_name == 'workflow_dispatch'
|
@@ -95,20 +100,20 @@ jobs:
|
95 | 100 | );
|
96 | 101 |
|
97 | 102 | const requiredApprovals = 2;
|
98 |
| - const requiredApproversCount = Array.from(approvers) |
| 103 | + const currentCountfromCommittee = Array.from(approvers) |
99 | 104 | .filter(approver => requiredApprovers.includes(approver))
|
100 | 105 | .length;
|
101 | 106 |
|
102 | 107 | // TODO: Improve logging and messaging to the user
|
103 | 108 | console.log('PR Approvers:', Array.from(approvers));
|
104 |
| - console.log('Required Approvers:', requiredApproversCount); |
| 109 | + console.log('Required Approvers:', requiredApprovals); |
105 | 110 |
|
106 | 111 | // Core logic that checks if the approvers are in the committee
|
107 | 112 | const checkName = 'PR Approval Status';
|
108 |
| - const conclusion = (approvers.size >= requiredApprovals && requiredApproversCount >= 2) ? 'success' : 'failure'; |
| 113 | + const conclusion = (approvers.size >= requiredApprovals && currentCountfromCommittee >= 2) ? 'success' : 'failure'; |
109 | 114 | const output = {
|
110 | 115 | title: checkName,
|
111 |
| - summary: `PR has ${approvers.size} total approvals and ${requiredApproversCount} required approvals.`, |
| 116 | + summary: `PR has ${approvers.size} total approvals and ${requiredApprovals} required approvals.`, |
112 | 117 | text: `Approvers: ${Array.from(approvers).join(', ')}\nRequired Approvers: ${requiredApprovers.join(', ')}`
|
113 | 118 | };
|
114 | 119 |
|
@@ -152,5 +157,5 @@ jobs:
|
152 | 157 | }
|
153 | 158 |
|
154 | 159 | if (conclusion === 'failure') {
|
155 |
| - core.setFailed(`PR needs at least ${requiredApprovals} total approvals and 2 required approvals. Current approvals: ${approvers.size}, Required approvals: ${requiredApproversCount}`); |
| 160 | + core.setFailed(`PR needs at least ${requiredApprovals} total approvals and 2 required approvals. Current approvals: ${approvers.size}, Required approvals: ${requiredApprovals}`); |
156 | 161 | }
|
0 commit comments