Skip to content

Commit de7e9e6

Browse files
authored
Merge branch 'master' into cdignam/ingest-timeout
2 parents 034d3a0 + 9fea343 commit de7e9e6

6 files changed

Lines changed: 375 additions & 53 deletions

File tree

bot/kodiak/evaluation.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
Commit,
4646
MergeableState,
4747
MergeStateStatus,
48+
ParsedRulesetRule,
4849
PRReview,
4950
PRReviewRequest,
5051
PRReviewState,
@@ -55,7 +56,6 @@
5556
PullRequestState,
5657
RepoInfo,
5758
RequiredStatusChecksParameters,
58-
RulesetRule,
5959
SeatsExceeded,
6060
StatusContext,
6161
StatusState,
@@ -343,7 +343,7 @@ def missing_branch_protection_push_allowance(
343343
return True
344344

345345

346-
def is_update_rule_missing_allowance(ruleset_rule: RulesetRule) -> bool:
346+
def is_update_rule_missing_allowance(ruleset_rule: ParsedRulesetRule) -> bool:
347347
if (
348348
ruleset_rule.repositoryRuleset is None
349349
or ruleset_rule.repositoryRuleset.bypassActors is None
@@ -364,7 +364,7 @@ def is_update_rule_missing_allowance(ruleset_rule: RulesetRule) -> bool:
364364

365365

366366
def has_ruleset_rules_without_push_allowances(
367-
ruleset_rules: List[RulesetRule],
367+
ruleset_rules: List[ParsedRulesetRule],
368368
) -> bool:
369369
for ruleset_rule in ruleset_rules:
370370
if ruleset_rule.type == "UPDATE" and is_update_rule_missing_allowance(
@@ -377,7 +377,7 @@ def has_ruleset_rules_without_push_allowances(
377377

378378
def missing_push_allowance(
379379
branch_protection: Optional[BranchProtectionRule],
380-
ruleset_rules: List[RulesetRule],
380+
ruleset_rules: List[ParsedRulesetRule],
381381
) -> bool:
382382
if (
383383
branch_protection is not None
@@ -505,7 +505,7 @@ def get_merge_method(
505505

506506

507507
def has_equivalent_branch_protection_rulesets(
508-
ruleset_rules: List[RulesetRule],
508+
ruleset_rules: List[ParsedRulesetRule],
509509
) -> bool:
510510
"""
511511
When we originally made Kodiak, we only enabled Kodiak if branch protection was configured.
@@ -524,7 +524,7 @@ def has_equivalent_branch_protection_rulesets(
524524

525525
def requires_signed_commits(
526526
branch_protection: Optional[BranchProtectionRule],
527-
ruleset_rules: List[RulesetRule],
527+
ruleset_rules: List[ParsedRulesetRule],
528528
) -> bool:
529529
return (
530530
branch_protection is not None and branch_protection.requiresCommitSignatures
@@ -534,7 +534,7 @@ def requires_signed_commits(
534534

535535

536536
def has_ruleset_rules_requiring_strict_status_checks(
537-
ruleset_rules: List[RulesetRule],
537+
ruleset_rules: List[ParsedRulesetRule],
538538
) -> bool:
539539
for ruleset_rule in ruleset_rules:
540540
if (
@@ -546,15 +546,17 @@ def has_ruleset_rules_requiring_strict_status_checks(
546546

547547

548548
def requires_strict_status_checks(
549-
branch_protection: Optional[BranchProtectionRule], ruleset_rules: List[RulesetRule]
549+
branch_protection: Optional[BranchProtectionRule],
550+
ruleset_rules: List[ParsedRulesetRule],
550551
) -> bool:
551552
return (
552553
branch_protection is not None and branch_protection.requiresStrictStatusChecks
553554
) or has_ruleset_rules_requiring_strict_status_checks(ruleset_rules)
554555

555556

556557
def get_required_status_checks(
557-
branch_protection: Optional[BranchProtectionRule], ruleset_rules: List[RulesetRule]
558+
branch_protection: Optional[BranchProtectionRule],
559+
ruleset_rules: List[ParsedRulesetRule],
558560
) -> Set[str]:
559561
checks: Set[str] = set()
560562
if branch_protection is not None:
@@ -567,7 +569,7 @@ def get_required_status_checks(
567569

568570

569571
def has_ruleset_rules_requiring_conversation_resolution(
570-
ruleset_rules: List[RulesetRule],
572+
ruleset_rules: List[ParsedRulesetRule],
571573
) -> bool:
572574
for ruleset_rule in ruleset_rules:
573575
if (
@@ -579,7 +581,8 @@ def has_ruleset_rules_requiring_conversation_resolution(
579581

580582

581583
def requires_conversation_resolution(
582-
branch_protection: Optional[BranchProtectionRule], ruleset_rules: List[RulesetRule]
584+
branch_protection: Optional[BranchProtectionRule],
585+
ruleset_rules: List[ParsedRulesetRule],
583586
) -> bool:
584587
return (
585588
branch_protection is not None
@@ -589,7 +592,7 @@ def requires_conversation_resolution(
589592

590593
def requires_status_checks(
591594
branch_protection: Optional[BranchProtectionRule],
592-
ruleset_rules: List[RulesetRule],
595+
ruleset_rules: List[ParsedRulesetRule],
593596
) -> bool:
594597
if branch_protection is not None and branch_protection.requiresStatusChecks:
595598
return True
@@ -606,7 +609,7 @@ async def mergeable(
606609
config_path: str,
607610
pull_request: PullRequest,
608611
branch_protection: Optional[BranchProtectionRule],
609-
ruleset_rules: List[RulesetRule],
612+
ruleset_rules: List[ParsedRulesetRule],
610613
review_requests: List[PRReviewRequest],
611614
bot_reviews: List[PRReview],
612615
contexts: List[StatusContext],

0 commit comments

Comments
 (0)