Use [START_DIR]/cipd as a location for CIPD packages
This is to avoid polluting the global CIPD cache.
Change-Id: I91f218390fce1f5e10b8a69e83c1214baaab7733
diff --git a/recipe_modules/goma/api.py b/recipe_modules/goma/api.py
index 6bfea25..e0bcda9 100644
--- a/recipe_modules/goma/api.py
+++ b/recipe_modules/goma/api.py
@@ -67,23 +67,20 @@
def ensure_goma(self, canary=False):
with self.m.step.nest('ensure_goma'):
with self.m.step.context({'infra_step': True}):
- try:
- self.m.cipd.set_service_account_credentials(
- self.service_account_json_path)
+ self.m.cipd.set_service_account_credentials(
+ self.service_account_json_path)
- self.m.cipd.install_client()
- goma_package = ('infra_internal/goma/client/%s' %
- self.m.cipd.platform_suffix())
- ref='release'
- if canary:
- ref='candidate'
- self._goma_dir = self.m.path['cache'].join('cipd', 'goma')
+ self.m.cipd.install_client()
+ goma_package = ('infra_internal/goma/client/%s' %
+ self.m.cipd.platform_suffix())
+ ref='release'
+ if canary:
+ ref='candidate'
+ self._goma_dir = self.m.path['start_dir'].join('cipd', 'goma')
- self.m.cipd.ensure(self._goma_dir, {goma_package: ref})
+ self.m.cipd.ensure(self._goma_dir, {goma_package: ref})
- return self._goma_dir
- except self.m.step.StepFailure: # pragma: no cover
- return None
+ return self._goma_dir
@property
def goma_ctl(self):
diff --git a/recipe_modules/jiri/api.py b/recipe_modules/jiri/api.py
index 067d649..f967ee7 100644
--- a/recipe_modules/jiri/api.py
+++ b/recipe_modules/jiri/api.py
@@ -19,14 +19,19 @@
jiri_cmd = [self._jiri_executable]
return self.m.step(name, jiri_cmd + list(args), **kwargs)
- def ensure_jiri(self):
- self.m.cipd.install_client()
- jiri_package = ('fuchsia/tools/jiri/%s' %
- self.m.cipd.platform_suffix())
- cipd_dir = self.m.path['cache'].join('cipd')
- self.m.cipd.ensure(cipd_dir, { jiri_package: 'latest' })
- self._jiri_executable = cipd_dir.join('jiri')
- return self._jiri_executable
+ def ensure_jiri(self, version=None):
+ with self.m.step.nest('ensure_jiri'):
+ with self.m.step.context({'infra_step': True}):
+ self.m.cipd.install_client()
+ jiri_package = ('fuchsia/tools/jiri/%s' %
+ self.m.cipd.platform_suffix())
+ cipd_dir = self.m.path['start_dir'].join('cipd', 'jiri')
+
+ self.m.cipd.ensure(cipd_dir,
+ {jiri_package: version or 'latest'})
+ self._jiri_executable = cipd_dir.join('jiri')
+
+ return self._jiri_executable
@property
def jiri(self):