Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 2c769aa

Browse files
authored
Dart SDK roller enhancements (#334)
- Cleanup state when roll PR is manually merged - Change merge strategy from rebase to squash to include PR #'s in commit descriptions
1 parent db6869d commit 2c769aa

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

tools/dart/dart_autoroller.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -259,14 +259,17 @@ def merge_on_success(github_repo, local_repo, pull_request):
259259

260260
# TODO(bkonyi): Handle case where Flutter tree is red and we're trying to
261261
# merge into flutter/flutter.
262-
should_merge = wait_for_status(commit)
262+
should_merge = wait_for_status(pull_request, commit)
263263
if should_merge:
264-
pull_request.create_issue_comment('Checks successful, automatically merging.')
265-
merge_status = pull_request.merge(merge_method='rebase').merged
266-
if not merge_status:
267-
print_error('Merge failed! Aborting roll.')
268-
sys.exit(1)
269-
print_status('Merge was successful!')
264+
if not pull_request.is_merged():
265+
pull_request.create_issue_comment('Checks successful, automatically merging.')
266+
merge_status = pull_request.merge(merge_method='squash').merged
267+
if not merge_status:
268+
print_error('Merge failed! Aborting roll.')
269+
sys.exit(1)
270+
print_status('Merge was successful!')
271+
else:
272+
print_status('Manual merge was performed.')
270273
else:
271274
cleanup_pr(github_repo, pull_request, 'Checks failed')
272275
sys.exit(1)
@@ -300,7 +303,7 @@ def is_only_engine_build_failing(commit):
300303
return True
301304

302305

303-
def wait_for_status(commit):
306+
def wait_for_status(pull_request, commit):
304307
if FLAG_skip_wait_for_artifacts:
305308
return True
306309

@@ -315,6 +318,9 @@ def wait_for_status(commit):
315318

316319
# Ensure all checks pass.
317320
while True:
321+
# Check to see if the PR was manually merged.
322+
if pull_request.is_merged():
323+
break
318324
status = commit.get_combined_status().state
319325
if status == GITHUB_STATUS_SUCCESS:
320326
break

0 commit comments

Comments
 (0)