Commit 0c3bd490 authored by Edward Lemur's avatar Edward Lemur Committed by Commit Bot

bot_update: Don't use apply_patch_on_gclient.

It has been True by default for a while, and there is no need to override it.

Bug: 891917
Change-Id: I2598a2230b0ea38a647a533757331c541b871971
Reviewed-on: https://chromium-review.googlesource.com/c/1260057Reviewed-by: 's avatarAndrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
parent 2fb63102
...@@ -47,16 +47,16 @@ Recipe module to ensure a checkout is consistent on a bot. ...@@ -47,16 +47,16 @@ Recipe module to ensure a checkout is consistent on a bot.
#### **class [BotUpdateApi](/recipes/recipe_modules/bot_update/api.py#10)([RecipeApi][recipe_engine/wkt/RecipeApi]):** #### **class [BotUpdateApi](/recipes/recipe_modules/bot_update/api.py#10)([RecipeApi][recipe_engine/wkt/RecipeApi]):**
&mdash; **def [\_\_call\_\_](/recipes/recipe_modules/bot_update/api.py#27)(self, name, cmd, \*\*kwargs):** &mdash; **def [\_\_call\_\_](/recipes/recipe_modules/bot_update/api.py#25)(self, name, cmd, \*\*kwargs):**
Wrapper for easy calling of bot_update. Wrapper for easy calling of bot_update.
&mdash; **def [deapply\_patch](/recipes/recipe_modules/bot_update/api.py#413)(self, bot_update_step):** &mdash; **def [deapply\_patch](/recipes/recipe_modules/bot_update/api.py#409)(self, bot_update_step):**
Deapplies a patch, taking care of DEPS and solution revisions properly. Deapplies a patch, taking care of DEPS and solution revisions properly.
&mdash; **def [ensure\_checkout](/recipes/recipe_modules/bot_update/api.py#68)(self, gclient_config=None, suffix=None, patch=True, update_presentation=True, patch_root=None, with_branch_heads=False, with_tags=False, refs=None, patch_oauth2=None, oauth2_json=None, use_site_config_creds=None, clobber=False, root_solution_revision=None, rietveld=None, issue=None, patchset=None, gerrit_no_reset=False, gerrit_no_rebase_patch_ref=False, disable_syntax_validation=False, manifest_name=None, patch_refs=None, ignore_input_commit=False, \*\*kwargs):** &mdash; **def [ensure\_checkout](/recipes/recipe_modules/bot_update/api.py#66)(self, gclient_config=None, suffix=None, patch=True, update_presentation=True, patch_root=None, with_branch_heads=False, with_tags=False, refs=None, patch_oauth2=None, oauth2_json=None, use_site_config_creds=None, clobber=False, root_solution_revision=None, rietveld=None, issue=None, patchset=None, gerrit_no_reset=False, gerrit_no_rebase_patch_ref=False, disable_syntax_validation=False, manifest_name=None, patch_refs=None, ignore_input_commit=False, \*\*kwargs):**
Args: Args:
gclient_config: The gclient configuration to use when running bot_update. gclient_config: The gclient configuration to use when running bot_update.
...@@ -67,7 +67,7 @@ Args: ...@@ -67,7 +67,7 @@ Args:
manifest_name: The name of the manifest to upload to LogDog. This must manifest_name: The name of the manifest to upload to LogDog. This must
be unique for the whole build. be unique for the whole build.
&mdash; **def [get\_project\_revision\_properties](/recipes/recipe_modules/bot_update/api.py#390)(self, project_name, gclient_config=None):** &mdash; **def [get\_project\_revision\_properties](/recipes/recipe_modules/bot_update/api.py#386)(self, project_name, gclient_config=None):**
Returns all property names used for storing the checked-out revision of Returns all property names used for storing the checked-out revision of
a given project. a given project.
...@@ -81,9 +81,9 @@ Args: ...@@ -81,9 +81,9 @@ Args:
Returns (list of str): All properties that'll hold the checked-out revision Returns (list of str): All properties that'll hold the checked-out revision
of the given project. An empty list if no such properties exist. of the given project. An empty list if no such properties exist.
&mdash; **def [initialize](/recipes/recipe_modules/bot_update/api.py#22)(self):** &mdash; **def [initialize](/recipes/recipe_modules/bot_update/api.py#20)(self):**
&emsp; **@property**<br>&mdash; **def [last\_returned\_properties](/recipes/recipe_modules/bot_update/api.py#36)(self):** &emsp; **@property**<br>&mdash; **def [last\_returned\_properties](/recipes/recipe_modules/bot_update/api.py#34)(self):**
### *recipe_modules* / [cipd](/recipes/recipe_modules/cipd) ### *recipe_modules* / [cipd](/recipes/recipe_modules/cipd)
[DEPS](/recipes/recipe_modules/cipd/__init__.py#1): [infra\_paths](#recipe_modules-infra_paths), [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step] [DEPS](/recipes/recipe_modules/cipd/__init__.py#1): [infra\_paths](#recipe_modules-infra_paths), [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step]
......
...@@ -11,8 +11,6 @@ class BotUpdateApi(recipe_api.RecipeApi): ...@@ -11,8 +11,6 @@ class BotUpdateApi(recipe_api.RecipeApi):
def __init__(self, properties, deps_revision_overrides, fail_patch, *args, def __init__(self, properties, deps_revision_overrides, fail_patch, *args,
**kwargs): **kwargs):
self._apply_patch_on_gclient = properties.get(
'apply_patch_on_gclient', True)
self._deps_revision_overrides = deps_revision_overrides self._deps_revision_overrides = deps_revision_overrides
self._fail_patch = fail_patch self._fail_patch = fail_patch
...@@ -227,8 +225,6 @@ class BotUpdateApi(recipe_api.RecipeApi): ...@@ -227,8 +225,6 @@ class BotUpdateApi(recipe_api.RecipeApi):
cmd.append('--gerrit_no_rebase_patch_ref') cmd.append('--gerrit_no_rebase_patch_ref')
if disable_syntax_validation or cfg.disable_syntax_validation: if disable_syntax_validation or cfg.disable_syntax_validation:
cmd.append('--disable-syntax-validation') cmd.append('--disable-syntax-validation')
if not self._apply_patch_on_gclient:
cmd.append('--no-apply-patch-on-gclient')
# Inject Json output for testing. # Inject Json output for testing.
first_sln = cfg.solutions[0].name first_sln = cfg.solutions[0].name
......
...@@ -61,8 +61,7 @@ ...@@ -61,8 +61,7 @@
"src@HEAD", "src@HEAD",
"--revision", "--revision",
"src/third_party/angle@HEAD", "src/third_party/angle@HEAD",
"--disable-syntax-validation", "--disable-syntax-validation"
"--no-apply-patch-on-gclient"
], ],
"env_prefixes": { "env_prefixes": {
"PATH": [ "PATH": [
...@@ -162,8 +161,7 @@ ...@@ -162,8 +161,7 @@
"--revision", "--revision",
"src@f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9", "src@f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9",
"--revision", "--revision",
"src/third_party/angle@fac9503c46405f77757b9a728eb85b8d7bc6080c", "src/third_party/angle@fac9503c46405f77757b9a728eb85b8d7bc6080c"
"--no-apply-patch-on-gclient"
], ],
"env_prefixes": { "env_prefixes": {
"PATH": [ "PATH": [
......
...@@ -184,8 +184,7 @@ def GenTests(api): ...@@ -184,8 +184,7 @@ def GenTests(api):
) )
yield ( yield (
api.test('no_apply_patch_on_gclient') + api.test('no_apply_patch_on_gclient') +
try_build(git_repo='https://chromium.googlesource.com/angle/angle') + try_build(git_repo='https://chromium.googlesource.com/angle/angle')
api.bot_update.properties(apply_patch_on_gclient=False)
) )
yield ( yield (
api.test('tryjob_gerrit_v8_feature_branch') + api.test('tryjob_gerrit_v8_feature_branch') +
......
...@@ -345,7 +345,7 @@ def git_config_if_not_set(key, value): ...@@ -345,7 +345,7 @@ def git_config_if_not_set(key, value):
def gclient_sync( def gclient_sync(
with_branch_heads, with_tags, revisions, break_repo_locks, with_branch_heads, with_tags, revisions, break_repo_locks,
disable_syntax_validation, patch_refs, gerrit_reset, disable_syntax_validation, patch_refs, gerrit_reset,
gerrit_rebase_patch_ref, apply_patch_on_gclient): gerrit_rebase_patch_ref):
# We just need to allocate a filename. # We just need to allocate a filename.
fd, gclient_output_file = tempfile.mkstemp(suffix='.json') fd, gclient_output_file = tempfile.mkstemp(suffix='.json')
os.close(fd) os.close(fd)
...@@ -366,7 +366,7 @@ def gclient_sync( ...@@ -366,7 +366,7 @@ def gclient_sync(
revision = 'origin/master' revision = 'origin/master'
args.extend(['--revision', '%s@%s' % (name, revision)]) args.extend(['--revision', '%s@%s' % (name, revision)])
if apply_patch_on_gclient and patch_refs: if patch_refs:
for patch_ref in patch_refs: for patch_ref in patch_refs:
args.extend(['--patch-ref', patch_ref]) args.extend(['--patch-ref', patch_ref])
if not gerrit_reset: if not gerrit_reset:
...@@ -379,7 +379,7 @@ def gclient_sync( ...@@ -379,7 +379,7 @@ def gclient_sync(
except SubprocessFailed as e: except SubprocessFailed as e:
# If gclient sync is handling patching, parse the output for a patch error # If gclient sync is handling patching, parse the output for a patch error
# message. # message.
if apply_patch_on_gclient and 'Failed to apply patch.' in e.output: if 'Failed to apply patch.' in e.output:
raise PatchFailed(e.message, e.code, e.output) raise PatchFailed(e.message, e.code, e.output)
# Throw a GclientSyncFailed exception so we can catch this independently. # Throw a GclientSyncFailed exception so we can catch this independently.
raise GclientSyncFailed(e.message, e.code, e.output) raise GclientSyncFailed(e.message, e.code, e.output)
...@@ -816,8 +816,7 @@ def emit_json(out_file, did_run, gclient_output=None, **kwargs): ...@@ -816,8 +816,7 @@ def emit_json(out_file, did_run, gclient_output=None, **kwargs):
def ensure_checkout(solutions, revisions, first_sln, target_os, target_os_only, def ensure_checkout(solutions, revisions, first_sln, target_os, target_os_only,
target_cpu, patch_root, patch_refs, target_cpu, patch_root, patch_refs,
gerrit_rebase_patch_ref, refs, git_cache_dir, gerrit_rebase_patch_ref, refs, git_cache_dir,
cleanup_dir, gerrit_reset, disable_syntax_validation, cleanup_dir, gerrit_reset, disable_syntax_validation):
apply_patch_on_gclient):
# Get a checkout of each solution, without DEPS or hooks. # Get a checkout of each solution, without DEPS or hooks.
# Calling git directly because there is no way to run Gclient without # Calling git directly because there is no way to run Gclient without
# invoking DEPS. # invoking DEPS.
...@@ -825,19 +824,6 @@ def ensure_checkout(solutions, revisions, first_sln, target_os, target_os_only, ...@@ -825,19 +824,6 @@ def ensure_checkout(solutions, revisions, first_sln, target_os, target_os_only,
git_checkouts(solutions, revisions, refs, git_cache_dir, cleanup_dir) git_checkouts(solutions, revisions, refs, git_cache_dir, cleanup_dir)
applied_gerrit_patch = False
if not apply_patch_on_gclient:
print '===Processing patch solutions==='
patch_root = patch_root or ''
print 'Patch root is %r' % patch_root
for solution in solutions:
print 'Processing solution %r' % solution['name']
if (patch_root == solution['name'] or
solution['name'].startswith(patch_root + '/')):
relative_root = solution['name'][len(patch_root) + 1:]
target = '/'.join([relative_root, 'DEPS']).lstrip('/')
print ' relative root is %r, target is %r' % (relative_root, target)
# Ensure our build/ directory is set up with the correct .gclient file. # Ensure our build/ directory is set up with the correct .gclient file.
gclient_configure(solutions, target_os, target_os_only, target_cpu, gclient_configure(solutions, target_os, target_os_only, target_cpu,
git_cache_dir) git_cache_dir)
...@@ -869,8 +855,7 @@ def ensure_checkout(solutions, revisions, first_sln, target_os, target_os_only, ...@@ -869,8 +855,7 @@ def ensure_checkout(solutions, revisions, first_sln, target_os, target_os_only,
disable_syntax_validation, disable_syntax_validation,
patch_refs, patch_refs,
gerrit_reset, gerrit_reset,
gerrit_rebase_patch_ref, gerrit_rebase_patch_ref)
apply_patch_on_gclient)
# Now that gclient_sync has finished, we should revert any .DEPS.git so that # Now that gclient_sync has finished, we should revert any .DEPS.git so that
# presubmit doesn't complain about it being modified. # presubmit doesn't complain about it being modified.
...@@ -972,10 +957,6 @@ def parse_args(): ...@@ -972,10 +957,6 @@ def parse_args():
parse.add_option( parse.add_option(
'--disable-syntax-validation', action='store_true', '--disable-syntax-validation', action='store_true',
help='Disable validation of .gclient and DEPS syntax.') help='Disable validation of .gclient and DEPS syntax.')
parse.add_option('--no-apply-patch-on-gclient',
dest='apply_patch_on_gclient', action='store_false',
default=True,
help='Patch the gerrit ref in gclient instead of here.')
options, args = parse.parse_args() options, args = parse.parse_args()
...@@ -1014,10 +995,6 @@ def parse_args(): ...@@ -1014,10 +995,6 @@ def parse_args():
% (str(e),) % (str(e),)
) )
if options.patch_refs:
if not options.apply_patch_on_gclient:
parse.error('--patch_ref cannot be used with --no-apply-patch-on-gclient')
# Because we print CACHE_DIR out into a .gclient file, and then later run # Because we print CACHE_DIR out into a .gclient file, and then later run
# eval() on it, backslashes need to be escaped, otherwise "E:\b\build" gets # eval() on it, backslashes need to be escaped, otherwise "E:\b\build" gets
# parsed as "E:[\x08][\x08]uild". # parsed as "E:[\x08][\x08]uild".
...@@ -1088,8 +1065,7 @@ def checkout(options, git_slns, specs, revisions, step_text): ...@@ -1088,8 +1065,7 @@ def checkout(options, git_slns, specs, revisions, step_text):
git_cache_dir=options.git_cache_dir, git_cache_dir=options.git_cache_dir,
cleanup_dir=options.cleanup_dir, cleanup_dir=options.cleanup_dir,
gerrit_reset=not options.gerrit_no_reset, gerrit_reset=not options.gerrit_no_reset,
disable_syntax_validation=options.disable_syntax_validation, disable_syntax_validation=options.disable_syntax_validation)
apply_patch_on_gclient=options.apply_patch_on_gclient)
gclient_output = ensure_checkout(**checkout_parameters) gclient_output = ensure_checkout(**checkout_parameters)
except GclientSyncFailed: except GclientSyncFailed:
print 'We failed gclient sync, lets delete the checkout and retry.' print 'We failed gclient sync, lets delete the checkout and retry.'
......
...@@ -8,15 +8,6 @@ from recipe_engine import recipe_test_api ...@@ -8,15 +8,6 @@ from recipe_engine import recipe_test_api
class BotUpdateTestApi(recipe_test_api.RecipeTestApi): class BotUpdateTestApi(recipe_test_api.RecipeTestApi):
def properties(self, apply_patch_on_gclient):
ret = self.test(None)
ret.properties = {
'$depot_tools/bot_update': {
'apply_patch_on_gclient': apply_patch_on_gclient,
}
}
return ret
def output_json(self, root, first_sln, revision_mapping, fail_patch=False, def output_json(self, root, first_sln, revision_mapping, fail_patch=False,
fixed_revisions=None): fixed_revisions=None):
"""Deterministically synthesize json.output test data for gclient's """Deterministically synthesize json.output test data for gclient's
...@@ -45,11 +36,11 @@ class BotUpdateTestApi(recipe_test_api.RecipeTestApi): ...@@ -45,11 +36,11 @@ class BotUpdateTestApi(recipe_test_api.RecipeTestApi):
}) })
output.update({ output.update({
'manifest': { 'manifest': {
project_name: { project_name: {
'repository': 'https://fake.org/%s.git' % project_name, 'repository': 'https://fake.org/%s.git' % project_name,
'revision': self.gen_revision(project_name), 'revision': self.gen_revision(project_name),
} }
for project_name in set(revision_mapping.values())}}) for project_name in set(revision_mapping.values())}})
output.update({ output.update({
'source_manifest': { 'source_manifest': {
......
...@@ -156,7 +156,6 @@ class BotUpdateUnittests(unittest.TestCase): ...@@ -156,7 +156,6 @@ class BotUpdateUnittests(unittest.TestCase):
'cleanup_dir': None, 'cleanup_dir': None,
'gerrit_reset': None, 'gerrit_reset': None,
'disable_syntax_validation': False, 'disable_syntax_validation': False,
'apply_patch_on_gclient': False,
} }
def setUp(self): def setUp(self):
...@@ -209,11 +208,10 @@ class BotUpdateUnittests(unittest.TestCase): ...@@ -209,11 +208,10 @@ class BotUpdateUnittests(unittest.TestCase):
self.assertEquals(args[idx_third_revision+1], 'src/v8@deadbeef') self.assertEquals(args[idx_third_revision+1], 'src/v8@deadbeef')
return self.call.records return self.call.records
def testEnableGclientExperiment(self): def testApplyPatchOnGclient(self):
ref = 'refs/changes/12/345/6' ref = 'refs/changes/12/345/6'
repo = 'https://chromium.googlesource.com/v8/v8' repo = 'https://chromium.googlesource.com/v8/v8'
self.params['patch_refs'] = ['%s@%s' % (repo, ref)] self.params['patch_refs'] = ['%s@%s' % (repo, ref)]
self.params['apply_patch_on_gclient'] = True
bot_update.ensure_checkout(**self.params) bot_update.ensure_checkout(**self.params)
args = self.gclient.records[0] args = self.gclient.records[0]
idx = args.index('--patch-ref') idx = args.index('--patch-ref')
...@@ -228,7 +226,6 @@ class BotUpdateUnittests(unittest.TestCase): ...@@ -228,7 +226,6 @@ class BotUpdateUnittests(unittest.TestCase):
self.params['patch_refs'] = [ self.params['patch_refs'] = [
'https://chromium.googlesource.com/chromium/src@refs/changes/12/345/6', 'https://chromium.googlesource.com/chromium/src@refs/changes/12/345/6',
'https://chromium.googlesource.com/v8/v8@refs/changes/1/234/56'] 'https://chromium.googlesource.com/v8/v8@refs/changes/1/234/56']
self.params['apply_patch_on_gclient'] = True
bot_update.ensure_checkout(**self.params) bot_update.ensure_checkout(**self.params)
args = self.gclient.records[0] args = self.gclient.records[0]
patch_refs = set( patch_refs = set(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment