Commit aa534e50 authored by Paweł Hajdan, Jr's avatar Paweł Hajdan, Jr Committed by Commit Bot

Pass env via context rather than api.step kwargs

See https://groups.google.com/a/chromium.org/d/msg/infra-dev/p8Iq9v9Y4k0/w__b1zTWAQAJ
for more context.

BUG=685746

Change-Id: If0bdcbd354b2535de22a7be78dad86e15c9f2cea
Reviewed-on: https://chromium-review.googlesource.com/456217
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: 's avatarRobbie Iannucci <iannucci@chromium.org>
parent 12fb9ede
......@@ -4,5 +4,5 @@ deps {
project_id: "recipe_engine"
url: "https://chromium.googlesource.com/external/github.com/luci/recipes-py.git"
branch: "master"
revision: "d5a670b19aba7fb9a7f6430d39dab1d3414b578a"
revision: "57a75df505dfe20cb1aa6b7536231e56267fa2b8"
}
......@@ -33,15 +33,16 @@ class BotUpdateApi(recipe_api.RecipeApi):
assert isinstance(cmd, (list, tuple))
bot_update_path = self.resource('bot_update.py')
kwargs.setdefault('infra_step', True)
kwargs.setdefault('env', {})
kwargs['env'].setdefault('PATH', '%(PATH)s')
kwargs['env']['PATH'] = self.m.path.pathsep.join([
kwargs['env']['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
env = self.m.step.get_from_context('env', {})
env.setdefault('PATH', '%(PATH)s')
env['PATH'] = self.m.path.pathsep.join([
env['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
# These are to prevent git from hanging. If the git connection is slower
# than 1KB/s for more than 5 minutes then git will kill the connection
# and die with an error "error: RPC failed; curl 28 Operation too slow"
kwargs['env']['GIT_HTTP_LOW_SPEED_LIMIT'] = 1000
kwargs['env']['GIT_HTTP_LOW_SPEED_TIME'] = 300
env['GIT_HTTP_LOW_SPEED_LIMIT'] = 1000
env['GIT_HTTP_LOW_SPEED_TIME'] = 300
with self.m.step.context({'env': env}):
return self.m.python(name, bot_update_path, cmd, **kwargs)
@property
......@@ -54,9 +55,10 @@ class BotUpdateApi(recipe_api.RecipeApi):
gerrit_no_rebase_patch_ref=False, **kwargs):
apply_gerrit_path = self.resource('apply_gerrit.py')
kwargs.setdefault('infra_step', True)
kwargs.setdefault('env', {}).setdefault('PATH', '%(PATH)s')
kwargs['env']['PATH'] = self.m.path.pathsep.join([
kwargs['env']['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
env = self.m.step.get_from_context('env', {})
env.setdefault('PATH', '%(PATH)s')
env['PATH'] = self.m.path.pathsep.join([
env['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
cmd = [
'--gerrit_repo', self._repository,
'--gerrit_ref', self._gerrit_ref or '',
......@@ -66,6 +68,7 @@ class BotUpdateApi(recipe_api.RecipeApi):
cmd.append('--gerrit_no_reset')
if gerrit_no_rebase_patch_ref:
cmd.append('--gerrit_no_rebase_patch_ref')
with self.m.step.context({'env': env}):
return self.m.python('apply_gerrit', apply_gerrit_path, cmd, **kwargs)
def ensure_checkout(self, gclient_config=None, suffix=None,
......
......@@ -79,11 +79,13 @@ class GclientApi(recipe_api.RecipeApi):
if self.spec_alias:
prefix = ('[spec: %s] ' % self.spec_alias) + prefix
kwargs.setdefault('env', {})
kwargs['env'].setdefault('PATH', '%(PATH)s')
kwargs['env']['PATH'] = self.m.path.pathsep.join([
kwargs['env']['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
# TODO(phajdan.jr): create a helper for adding to PATH.
env = self.m.step.get_from_context('env', {})
env.setdefault('PATH', '%(PATH)s')
env['PATH'] = self.m.path.pathsep.join([
env['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
with self.m.step.context({'env': env}):
return self.m.python(prefix + name,
self.package_repo_resource('gclient.py'),
cmd,
......
......@@ -3,4 +3,5 @@ DEPS = [
'recipe_engine/path',
'recipe_engine/python',
'recipe_engine/raw_io',
'recipe_engine/step',
]
......@@ -12,11 +12,12 @@ class GerritApi(recipe_api.RecipeApi):
assert isinstance(cmd, (list, tuple))
prefix = 'gerrit '
kwargs.setdefault('env', {})
kwargs['env'].setdefault('PATH', '%(PATH)s')
kwargs['env']['PATH'] = self.m.path.pathsep.join([
kwargs['env']['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
env = self.m.step.get_from_context('env', {})
env.setdefault('PATH', '%(PATH)s')
env['PATH'] = self.m.path.pathsep.join([
env['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
with self.m.step.context({'env': env}):
return self.m.python(prefix + name,
self.package_repo_resource('gerrit_client.py'),
cmd,
......
......@@ -278,9 +278,9 @@ class GitApi(recipe_api.RecipeApi):
name='count-objects before %s' % fetch_step_name,
step_test_data=lambda: self.m.raw_io.test_api.stream_output(
self.test_api.count_objects_output(1000)))
with self.m.step.context({'env': fetch_env}):
self('retry', 'fetch', *fetch_args,
name=fetch_step_name,
env=fetch_env,
stderr=fetch_stderr,
can_fail_build=can_fail_build)
if display_fetch_size:
......@@ -413,7 +413,7 @@ class GitApi(recipe_api.RecipeApi):
upstream (str): to origin/master.
kwargs: Forwarded to '__call__'.
"""
env = kwargs.pop('env', {})
env = self.m.step.get_from_context('env', {})
env['PATH'] = self.m.path.pathsep.join([
str(self.package_repo_resource()), '%(PATH)s'])
args = ['new-branch', branch]
......@@ -421,4 +421,5 @@ class GitApi(recipe_api.RecipeApi):
args.extend(['--upstream', upstream])
if not name:
name = 'git new-branch %s' % branch
return self(*args, name=name, env=env, **kwargs)
with self.m.step.context({'env': env}):
return self(*args, name=name, **kwargs)
DEPS = [
'recipe_engine/path',
'recipe_engine/python',
'recipe_engine/step',
]
......@@ -14,10 +14,11 @@ class PresubmitApi(recipe_api.RecipeApi):
name = kwargs.pop('name', 'presubmit')
kwargs.setdefault('env', {})
kwargs['env'].setdefault('PATH', '%(PATH)s')
kwargs['env']['PATH'] = self.m.path.pathsep.join([
kwargs['env']['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
env = self.m.step.get_from_context('env', {})
env.setdefault('PATH', '%(PATH)s')
env['PATH'] = self.m.path.pathsep.join([
env['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
with self.m.step.context({'env': env}):
return self.m.python(
name, self.presubmit_support_path, list(args), **kwargs)
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