Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Side by Side Diff: cros_mark_as_stable.py

Issue 3127036: Fix prefligh buildbot (Closed) Base URL: http://git.chromium.org/git/crosutils.git
Patch Set: Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 2
3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 """This module uprevs a given package's ebuild to the next revision.""" 7 """This module uprevs a given package's ebuild to the next revision."""
8 8
9 9
10 import fileinput 10 import fileinput
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 for command in commands: 103 for command in commands:
104 command_usage += ' %s: %s\n' % (command, _COMMAND_DICTIONARY[command]) 104 command_usage += ' %s: %s\n' % (command, _COMMAND_DICTIONARY[command])
105 commands_str = '|'.join(commands) 105 commands_str = '|'.join(commands)
106 print 'Usage: %s FLAGS [%s]\n\n%s\nFlags:%s' % (sys.argv[0], commands_str, 106 print 'Usage: %s FLAGS [%s]\n\n%s\nFlags:%s' % (sys.argv[0], commands_str,
107 command_usage, gflags.FLAGS) 107 command_usage, gflags.FLAGS)
108 if error_message: 108 if error_message:
109 generate_test_report.Die(error_message) 109 generate_test_report.Die(error_message)
110 else: 110 else:
111 sys.exit(1) 111 sys.exit(1)
112 112
113 def _BranchExists(name):
114 """Returns True is the branch exists"""
115 return _RunCommand('git branch').split().count(name) != 0
116
117 def _PushChange(): 113 def _PushChange():
118 """Pushes changes to the git repository. 114 """Pushes changes to the git repository.
119 115
120 Pushes locals commits from calls to CommitChange to the remote git 116 Pushes locals commits from calls to CommitChange to the remote git
121 repository specified by os.pwd. 117 repository specified by os.pwd.
122 118
123 Raises: 119 Raises:
124 OSError: Error occurred while pushing. 120 OSError: Error occurred while pushing.
125 """ 121 """
126 122
127 # TODO(sosa) - Add logic for buildbot to check whether other slaves have 123 # TODO(sosa) - Add logic for buildbot to check whether other slaves have
128 # completed and push this change only if they have. 124 # completed and push this change only if they have.
129 125
130 # Sanity check to make sure we're on a stabilizing branch before pushing. 126 # Sanity check to make sure we're on a stabilizing branch before pushing.
131 if not _CheckOnStabilizingBranch(): 127 if not _CheckOnStabilizingBranch():
132 print 'Not on branch %s so no work found to push. Exiting' % \ 128 print 'Not on branch %s so no work found to push. Exiting' % \
133 _STABLE_BRANCH_NAME 129 _STABLE_BRANCH_NAME
134 return 130 return
135 131
136 description = _RunCommand('git log --format=format:%s%n%n%b ' + 132 description = _RunCommand('git log --format=format:%s%n%n%b ' +
137 gflags.FLAGS.tracking_branch + '..') 133 gflags.FLAGS.tracking_branch + '..')
138 description = 'Marking set of ebuilds as stable\n\n%s' % description 134 description = 'Marking set of ebuilds as stable\n\n%s' % description
139 merge_branch_name = 'merge_branch' 135 merge_branch_name = 'merge_branch'
140 _RunCommand('git remote update') 136 _RunCommand('git remote update')
141 merge_branch = _GitBranch(merge_branch_name) 137 merge_branch = _GitBranch(merge_branch_name)
142 merge_branch.CreateBranch() 138 merge_branch.CreateBranch()
143 if not merge_branch.Exists(): 139 if not merge_branch.Exists():
144 generate_test_report.Die('Unable to create merge branch.') 140 generate_test_report.Die('Unable to create merge branch.')
145 _RunCommand('git checkout -b %s %s' % (
146 merge_branch_name, gflags.FLAGS.tracking_branch))
147 _RunCommand('git merge --squash %s' % _STABLE_BRANCH_NAME) 141 _RunCommand('git merge --squash %s' % _STABLE_BRANCH_NAME)
148 _RunCommand('git commit -m "%s"' % description) 142 _RunCommand('git commit -m "%s"' % description)
149 # Ugh. There has got to be an easier way to push to a tracking branch 143 # Ugh. There has got to be an easier way to push to a tracking branch
150 _RunCommand('git config push.default tracking') 144 _RunCommand('git config push.default tracking')
151 _RunCommand('git push') 145 _RunCommand('git push')
152 146
153 147
154 def _RunCommand(command): 148 def _RunCommand(command):
155 """Runs a shell command and returns stdout back to caller.""" 149 """Runs a shell command and returns stdout back to caller."""
156 _Print(' + %s' % command) 150 _Print(' + %s' % command)
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 'and reset the git repo yourself.' % 369 'and reset the git repo yourself.' %
376 (package_list[:index], overlay_directory)) 370 (package_list[:index], overlay_directory))
377 raise e 371 raise e
378 elif command == 'push': 372 elif command == 'push':
379 _PushChange() 373 _PushChange()
380 374
381 375
382 if __name__ == '__main__': 376 if __name__ == '__main__':
383 main(sys.argv) 377 main(sys.argv)
384 378
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698