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

Side by Side Diff: scripts/slave/recipe_modules/goma/api.py

Issue 1903503007: goma: use GOMA_SERVICE_ACCOUNT_JSON_FILE (reland #1) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: rebase Created 4 years, 8 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
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 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 from recipe_engine import recipe_api 5 from recipe_engine import recipe_api
6 6
7 class GomaApi(recipe_api.RecipeApi): 7 class GomaApi(recipe_api.RecipeApi):
8 """GomaApi contains helper functions for using goma.""" 8 """GomaApi contains helper functions for using goma."""
9 9
10 @property
11 def service_account_json_path(self):
12 if self.m.platform.is_win:
13 return 'C:\\creds\\service_accounts\\service-account-goma-client.json'
14 return '/creds/service_accounts/service-account-goma-client.json'
15
10 def update_goma_canary(self): 16 def update_goma_canary(self):
11 """Returns a step for updating goma canary.""" 17 """Returns a step for updating goma canary."""
12 # deprecated? switch to use ensure_goma with canary=True. 18 # deprecated? switch to use ensure_goma with canary=True.
13 # for git checkout, should use @refs/heads/master to use head. 19 # for git checkout, should use @refs/heads/master to use head.
14 head = 'refs/heads/master' 20 head = 'refs/heads/master'
15 # TODO(phajdan.jr): Remove path['build'] usage, http://crbug.com/437264 . 21 # TODO(phajdan.jr): Remove path['build'] usage, http://crbug.com/437264 .
16 self.m.gclient('update goma canary', 22 self.m.gclient('update goma canary',
17 ['sync', '--verbose', '--force', 23 ['sync', '--verbose', '--force',
18 '--revision', 'build/goma@%s' % head], 24 '--revision', 'build/goma@%s' % head],
19 cwd=self.m.path['build']) 25 cwd=self.m.path['build'])
20 26
21 def ensure_goma(self): 27 def ensure_goma(self):
22 with self.m.step.nest('ensure_goma'): 28 with self.m.step.nest('ensure_goma'):
23 try: 29 try:
24 if self.m.platform.is_win: 30 self.m.cipd.set_service_account_credentials(
25 creds = ('C:\\creds\\service_accounts\\' 31 self.service_account_json_path)
26 'service-account-goma-client.json')
27 else:
28 creds = '/creds/service_accounts/service-account-goma-client.json'
29 self.m.cipd.set_service_account_credentials(creds)
30 32
31 self.m.cipd.install_client() 33 self.m.cipd.install_client()
32 goma_package = ('infra_internal/goma/client/%s' % 34 goma_package = ('infra_internal/goma/client/%s' %
33 self.m.cipd.platform_suffix()) 35 self.m.cipd.platform_suffix())
34 goma_dir = self.m.path['cache'].join('cipd', 'goma') 36 goma_dir = self.m.path['cache'].join('cipd', 'goma')
35 self.m.cipd.ensure(goma_dir, {goma_package: 'release'}) 37 self.m.cipd.ensure(goma_dir, {goma_package: 'release'})
36 return goma_dir 38 return goma_dir
37 except self.m.step.StepFailure: # pragma: no cover 39 except self.m.step.StepFailure: # pragma: no cover
38 # TODO(phajdan.jr): make failures fatal after experiment. 40 # TODO(phajdan.jr): make failures fatal after experiment.
39 return None 41 return None
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698