diff --git a/.github/mergify.yml b/.github/mergify.yml index 4d0948c..586168d 100644 --- a/.github/mergify.yml +++ b/.github/mergify.yml @@ -1,16 +1,36 @@ ---- defaults: actions: queue: name: default - method: rebase - update_method: rebase - queue_rules: - - name: default - conditions: + - name: duplicated default from merge after one approval (no design changes) + queue_conditions: + - base~=^(main)|(release-.+)$ + - label!=design + - "#approved-reviews-by>=1" + - "#changes-requested-reviews-by=0" + - check-success=test-lint + - check-success=test-protoc + merge_conditions: + - check-success=test-lint + - check-success=test-protoc + merge_method: rebase + update_method: rebase + - name: duplicated default from design changes needs approval from at least one + core maintainer + queue_conditions: + - base~=^(main)|(release-.+)$ + - label=design + - "#approved-reviews-by>=2" + - "#changes-requested-reviews-by=0" + - "approved-reviews-by=@csi-addons/maintainers" - check-success=test-lint - check-success=test-protoc + merge_conditions: + - check-success=test-lint + - check-success=test-protoc + merge_method: rebase + update_method: rebase pull_request_rules: - name: remove outdated approvals @@ -30,10 +50,8 @@ pull_request_rules: - check-success=test-lint - check-success=test-protoc actions: - queue: {} dismiss_reviews: {} delete_head_branch: {} - - name: design changes needs approval from at least one core maintainer conditions: - base~=^(main)|(release-.+)$ @@ -44,10 +62,8 @@ pull_request_rules: - check-success=test-lint - check-success=test-protoc actions: - queue: {} dismiss_reviews: {} delete_head_branch: {} - - name: label design changes (update the generated Go files) conditions: - files~=^(lib/go/) @@ -65,3 +81,8 @@ pull_request_rules: request_reviews: users_from_teams: - "@csi-addons/maintainers" + - name: design changes needs approval from at least one core maintainer + merge + after one approval (no design changes) + conditions: [] + actions: + queue: