mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-24 15:11:19 +02:00
Add retries to pfq push.
Change-Id: Ie4632acf22bedb0c94de0cb3fe67b549fc2d0871 BUG=chromium-os:9323 TEST=Ran it and inserted exception for push_try < 3 and mocked out push. Review URL: http://codereview.chromium.org/5142003
This commit is contained in:
parent
a436eb8ef6
commit
684d5dbccf
@ -215,6 +215,7 @@ def _PushChange():
|
|||||||
Raises:
|
Raises:
|
||||||
OSError: Error occurred while pushing.
|
OSError: Error occurred while pushing.
|
||||||
"""
|
"""
|
||||||
|
num_retries = 5
|
||||||
|
|
||||||
# TODO(sosa) - Add logic for buildbot to check whether other slaves have
|
# TODO(sosa) - Add logic for buildbot to check whether other slaves have
|
||||||
# completed and push this change only if they have.
|
# completed and push this change only if they have.
|
||||||
@ -229,16 +230,25 @@ def _PushChange():
|
|||||||
gflags.FLAGS.tracking_branch + '..')
|
gflags.FLAGS.tracking_branch + '..')
|
||||||
description = 'Marking set of ebuilds as stable\n\n%s' % description
|
description = 'Marking set of ebuilds as stable\n\n%s' % description
|
||||||
merge_branch_name = 'merge_branch'
|
merge_branch_name = 'merge_branch'
|
||||||
_SimpleRunCommand('git remote update')
|
for push_try in range(num_retries + 1):
|
||||||
merge_branch = _GitBranch(merge_branch_name)
|
try:
|
||||||
merge_branch.CreateBranch()
|
_SimpleRunCommand('git remote update')
|
||||||
if not merge_branch.Exists():
|
merge_branch = _GitBranch(merge_branch_name)
|
||||||
Die('Unable to create merge branch.')
|
merge_branch.CreateBranch()
|
||||||
_SimpleRunCommand('git merge --squash %s' % _STABLE_BRANCH_NAME)
|
if not merge_branch.Exists():
|
||||||
_SimpleRunCommand('git commit -m "%s"' % description)
|
Die('Unable to create merge branch.')
|
||||||
# Ugh. There has got to be an easier way to push to a tracking branch
|
_SimpleRunCommand('git merge --squash %s' % _STABLE_BRANCH_NAME)
|
||||||
_SimpleRunCommand('git config push.default tracking')
|
_SimpleRunCommand('git commit -m "%s"' % description)
|
||||||
_SimpleRunCommand('git push')
|
# Ugh. There has got to be an easier way to push to a tracking branch
|
||||||
|
_SimpleRunCommand('git config push.default tracking')
|
||||||
|
_SimpleRunCommand('git push')
|
||||||
|
break
|
||||||
|
except:
|
||||||
|
if push_try < num_retries:
|
||||||
|
Warning('Failed to push change, performing retry (%s/%s)' % (
|
||||||
|
push_try + 1, num_retries))
|
||||||
|
else:
|
||||||
|
raise
|
||||||
|
|
||||||
|
|
||||||
def _SimpleRunCommand(command):
|
def _SimpleRunCommand(command):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user