File tree Expand file tree Collapse file tree 3 files changed +6
-1
lines changed Expand file tree Collapse file tree 3 files changed +6
-1
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,8 @@ async function run(): Promise<void> {
2929 . split ( '\n' )
3030 . filter ( s => s !== '' )
3131 const requiredApprovals = parseInt ( core . getInput ( 'requiredApprovals' ) )
32+ const allRequestedReviewersMustApprove =
33+ core . getInput ( 'allRequestedReviewersMustApprove' ) === 'true'
3234 const requiredStatusChecks = core
3335 . getInput ( 'requiredStatusChecks' )
3436 . split ( '\n' )
@@ -51,6 +53,7 @@ async function run(): Promise<void> {
5153 requiredApprovals :
5254 requiredApprovals ||
5355 ( branchProtectionRule ?. requiredApprovingReviewCount ?? 0 ) ,
56+ allRequestedReviewersMustApprove,
5457 requiredStatusChecks : [
5558 ...requiredStatusChecks ,
5659 ...( branchProtectionRule ?. requiredStatusCheckContexts ?? [ ] )
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ export interface Condition {
1111 branchNamePattern ?: string
1212 requiredApprovals : number
1313 requiredStatusChecks : string [ ]
14+ allRequestedReviewersMustApprove : boolean
1415 requiredLabels : string [ ]
1516}
1617
Original file line number Diff line number Diff line change @@ -37,7 +37,8 @@ function isSatisfyBasicConditionPr(
3737 ! pr . merged &&
3838 pr . mergeable === 'MERGEABLE' &&
3939 pr . reviews . totalCount >= condition . requiredApprovals &&
40- pr . reviewRequests . totalCount === 0 &&
40+ ( pr . reviewRequests . totalCount === 0 ||
41+ ! condition . allRequestedReviewersMustApprove ) &&
4142 hasLabels ( pr , condition ) &&
4243 minimatch ( pr . baseRefName , condition . branchNamePattern ?? '*' )
4344 )
You can’t perform that action at this time.
0 commit comments