Skip to content

Commit 24d6f20

Browse files
committed
Approve PR only after successful merge status
1 parent 91df2b3 commit 24d6f20

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

cumulusci_ado/vcs/ado/adapter.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,10 @@ def can_auto_merge(self) -> bool:
426426

427427
if self.pull_request.merge_status == "succeeded":
428428
self.repo.logger.info("Pull request can be automatically merged.")
429+
430+
if self.repo.config("pull_request_approve_on_merge"):
431+
self.approve_pull_request()
432+
429433
return True
430434

431435
if self.pull_request.merge_status in ("conflicts", "failure"):
@@ -437,6 +441,7 @@ def can_auto_merge(self) -> bool:
437441
self.repo.logger.info(
438442
f"Current merge status: {self.pull_request.merge_status}. Retrying in {interval} seconds..."
439443
)
444+
440445
time.sleep(interval)
441446

442447
self.repo.logger.warning(
@@ -477,11 +482,13 @@ def merge(self) -> None:
477482
# Set auto-complete with completion options
478483
self.set_auto_complete(completion_options)
479484

480-
if self.repo.config("pull_request_approve_on_merge"):
481-
self.approve_pull_request()
482-
483485
def approve_pull_request(self) -> None:
484486
"""Approves the pull request."""
487+
if getattr(self, "_approved_once", False):
488+
return
489+
490+
setattr(self, "_approved_once", True)
491+
485492
try:
486493
reviewer_id = (
487494
self.pull_request.created_by.id

0 commit comments

Comments
 (0)