|
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