OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 | 5 |
6 """Recipe module to ensure a checkout is consistant on a bot.""" | 6 """Recipe module to ensure a checkout is consistant on a bot.""" |
7 | 7 |
8 from recipe_engine import recipe_api | 8 from recipe_engine import recipe_api |
9 | 9 |
10 | 10 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 return self.m.python(name, bot_update_path, cmd, **kwargs) | 43 return self.m.python(name, bot_update_path, cmd, **kwargs) |
44 | 44 |
45 @property | 45 @property |
46 def last_returned_properties(self): | 46 def last_returned_properties(self): |
47 return self._last_returned_properties | 47 return self._last_returned_properties |
48 | 48 |
49 # DO NOT USE. | 49 # DO NOT USE. |
50 # The below method will be removed after there are no more callers of | 50 # The below method will be removed after there are no more callers of |
51 # tryserver.maybe_apply_issue (skbug.com/5588). | 51 # tryserver.maybe_apply_issue (skbug.com/5588). |
52 def apply_gerrit_ref(self, root, gerrit_no_reset=False, | 52 def apply_gerrit_ref(self, root, gerrit_no_reset=False, |
| 53 gerrit_no_rebase_patch_ref=False, |
53 gerrit_rebase_patch_ref=True, **kwargs): | 54 gerrit_rebase_patch_ref=True, **kwargs): |
54 apply_gerrit_path = self.resource('apply_gerrit.py') | 55 apply_gerrit_path = self.resource('apply_gerrit.py') |
55 kwargs.setdefault('infra_step', True) | 56 kwargs.setdefault('infra_step', True) |
56 kwargs.setdefault('env', {}).setdefault('PATH', '%(PATH)s') | 57 kwargs.setdefault('env', {}).setdefault('PATH', '%(PATH)s') |
57 kwargs['env']['PATH'] = self.m.path.pathsep.join([ | 58 kwargs['env']['PATH'] = self.m.path.pathsep.join([ |
58 kwargs['env']['PATH'], str(self._module.PACKAGE_REPO_ROOT)]) | 59 kwargs['env']['PATH'], str(self._module.PACKAGE_REPO_ROOT)]) |
59 cmd = [ | 60 cmd = [ |
60 '--gerrit_repo', self._repository, | 61 '--gerrit_repo', self._repository, |
61 '--gerrit_ref', self._gerrit_ref or '', | 62 '--gerrit_ref', self._gerrit_ref or '', |
62 '--root', str(root), | 63 '--root', str(root), |
63 ] | 64 ] |
64 if gerrit_no_reset: | 65 if gerrit_no_reset: |
65 cmd.append('--gerrit_no_reset') | 66 cmd.append('--gerrit_no_reset') |
66 if gerrit_rebase_patch_ref: | 67 if gerrit_no_rebase_patch_ref or not gerrit_rebase_patch_ref: |
67 cmd.append('--gerrit_rebase_patch_ref') | 68 cmd.append('--gerrit_no_rebase_patch_ref') |
68 return self.m.python('apply_gerrit', apply_gerrit_path, cmd, **kwargs) | 69 return self.m.python('apply_gerrit', apply_gerrit_path, cmd, **kwargs) |
69 | 70 |
70 def ensure_checkout(self, gclient_config=None, suffix=None, | 71 def ensure_checkout(self, gclient_config=None, suffix=None, |
71 patch=True, update_presentation=True, | 72 patch=True, update_presentation=True, |
72 force=False, patch_root=None, no_shallow=False, | 73 force=False, patch_root=None, no_shallow=False, |
73 with_branch_heads=False, refs=None, | 74 with_branch_heads=False, refs=None, |
74 patch_oauth2=False, use_site_config_creds=True, | 75 patch_oauth2=False, use_site_config_creds=True, |
75 output_manifest=True, clobber=False, | 76 output_manifest=True, clobber=False, |
76 root_solution_revision=None, rietveld=None, issue=None, | 77 root_solution_revision=None, rietveld=None, issue=None, |
77 patchset=None, gerrit_no_reset=False, | 78 patchset=None, gerrit_no_reset=False, |
78 gerrit_rebase_patch_ref=False, **kwargs): | 79 gerrit_no_rebase_patch_ref=False, |
| 80 gerrit_rebase_patch_ref=True, **kwargs): |
79 """ | 81 """ |
80 Args: | 82 Args: |
81 use_site_config_creds: If the oauth2 credentials are in the buildbot | 83 use_site_config_creds: If the oauth2 credentials are in the buildbot |
82 site_config. See crbug.com/624212 for more information. | 84 site_config. See crbug.com/624212 for more information. |
83 gclient_config: The gclient configuration to use when running bot_update. | 85 gclient_config: The gclient configuration to use when running bot_update. |
84 If omitted, the current gclient configuration is used. | 86 If omitted, the current gclient configuration is used. |
85 rietveld: The rietveld server to use. If omitted, will infer from | 87 rietveld: The rietveld server to use. If omitted, will infer from |
86 the 'rietveld' property. | 88 the 'rietveld' property. |
87 issue: The rietveld issue number to use. If omitted, will infer from | 89 issue: The rietveld issue number to use. If omitted, will infer from |
88 the 'issue' property. | 90 the 'issue' property. |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 if force: | 226 if force: |
225 cmd.append('--force') | 227 cmd.append('--force') |
226 if no_shallow: | 228 if no_shallow: |
227 cmd.append('--no_shallow') | 229 cmd.append('--no_shallow') |
228 if output_manifest: | 230 if output_manifest: |
229 cmd.append('--output_manifest') | 231 cmd.append('--output_manifest') |
230 if with_branch_heads or cfg.with_branch_heads: | 232 if with_branch_heads or cfg.with_branch_heads: |
231 cmd.append('--with_branch_heads') | 233 cmd.append('--with_branch_heads') |
232 if gerrit_no_reset: | 234 if gerrit_no_reset: |
233 cmd.append('--gerrit_no_reset') | 235 cmd.append('--gerrit_no_reset') |
234 if gerrit_rebase_patch_ref: | 236 if gerrit_no_rebase_patch_ref or not gerrit_rebase_patch_ref: |
235 cmd.append('--gerrit_rebase_patch_ref') | 237 cmd.append('--gerrit_no_rebase_patch_ref') |
236 | 238 |
237 # Inject Json output for testing. | 239 # Inject Json output for testing. |
238 first_sln = cfg.solutions[0].name | 240 first_sln = cfg.solutions[0].name |
239 step_test_data = lambda: self.test_api.output_json( | 241 step_test_data = lambda: self.test_api.output_json( |
240 master, builder, slave, root, first_sln, rev_map, force, | 242 master, builder, slave, root, first_sln, rev_map, force, |
241 self._fail_patch, | 243 self._fail_patch, |
242 output_manifest=output_manifest, fixed_revisions=fixed_revisions) | 244 output_manifest=output_manifest, fixed_revisions=fixed_revisions) |
243 | 245 |
244 # Add suffixes to the step name, if specified. | 246 # Add suffixes to the step name, if specified. |
245 name = 'bot_update' | 247 name = 'bot_update' |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 | 308 |
307 # bot_update actually just sets root to be the folder name of the | 309 # bot_update actually just sets root to be the folder name of the |
308 # first solution. | 310 # first solution. |
309 if step_result.json.output['did_run']: | 311 if step_result.json.output['did_run']: |
310 co_root = step_result.json.output['root'] | 312 co_root = step_result.json.output['root'] |
311 cwd = kwargs.get('cwd', self.m.path['slave_build']) | 313 cwd = kwargs.get('cwd', self.m.path['slave_build']) |
312 if 'checkout' not in self.m.path: | 314 if 'checkout' not in self.m.path: |
313 self.m.path['checkout'] = cwd.join(*co_root.split(self.m.path.sep)) | 315 self.m.path['checkout'] = cwd.join(*co_root.split(self.m.path.sep)) |
314 | 316 |
315 return step_result | 317 return step_result |
OLD | NEW |