From 7542437eea41f579d1f87d78f6848db15e34070f Mon Sep 17 00:00:00 2001 From: Andrii Shyshkalov Date: Fri, 30 Aug 2019 22:48:15 +0000 Subject: [PATCH] git cl: get rid of builders-map. Builders-map is finally no longer necessary. R=smut TBR=ehmaldonado Bug: 570733 Change-Id: I05c3087c877fdccfd878bb9befff4fb77b92b26b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1779543 Commit-Queue: Andrii Shyshkalov Reviewed-by: smut Auto-Submit: Andrii Shyshkalov --- git_cl.py | 35 +++------------------ tests/git_cl_test.py | 74 -------------------------------------------- 2 files changed, 4 insertions(+), 105 deletions(-) diff --git a/git_cl.py b/git_cl.py index d72410f148..f8b1596008 100755 --- a/git_cl.py +++ b/git_cl.py @@ -435,38 +435,11 @@ def _get_bucket_map(changelist, options, option_parser): if options.bucket: return {options.bucket: {b: [] for b in options.bot}} if options.master: + print( + 'WARNING: "-m " option is deprecated. Use -B instead.') return {_prefix_master(options.master): {b: [] for b in options.bot}} - - # If bots are listed but no master or bucket, then we need to find out - # the corresponding master for each bot. - bucket_map, error_message = _get_bucket_map_for_builders(options.bot) - if error_message: - option_parser.error( - 'Tryserver master cannot be found because: %s\n' - 'Please manually specify the tryserver master, e.g. ' - '"-m tryserver.chromium.linux".' % error_message) - return bucket_map - - -def _get_bucket_map_for_builders(builders): - """Returns a map of buckets to builders for the given builders.""" - map_url = 'https://builders-map.appspot.com/' - try: - builders_map = json.load(urllib2.urlopen(map_url)) - except urllib2.URLError as e: - return None, ('Failed to fetch builder-to-master map from %s. Error: %s.' % - (map_url, e)) - except ValueError as e: - return None, ('Invalid json string from %s. Error: %s.' % (map_url, e)) - if not builders_map: - return None, 'Failed to build master map.' - - bucket_map = {} - for builder in builders: - bucket = builders_map.get(builder, {}).get('bucket') - if bucket: - bucket_map.setdefault(bucket, {})[builder] = [] - return bucket_map, None + option_parser.error( + 'Please specify the bucket, e.g. "-B luci.chromium.try".') def _trigger_try_jobs(auth_config, changelist, buckets, options, patchset): diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py index e892d801aa..7e8895ae20 100755 --- a/tests/git_cl_test.py +++ b/tests/git_cl_test.py @@ -2471,80 +2471,6 @@ class TestGitCl(TestCase): git_cl.sys.stdout.getvalue(), 'Tried jobs on:\nBucket: luci.chromium.try') - def test_git_cl_try_bots_on_multiple_masters(self): - self.mock(git_cl.Changelist, 'GetMostRecentPatchset', lambda _: 7) - self.mock(git_cl.Changelist, 'GetChange', - lambda _, *a: ( - self._mocked_call(['GetChange']+list(a)))) - self.mock(git_cl.presubmit_support, 'DoGetTryMasters', - lambda *_, **__: ( - self._mocked_call(['DoGetTryMasters']))) - self.mock(git_cl._GerritChangelistImpl, 'SetCQState', - lambda _, s: self._mocked_call(['SetCQState', s])) - - self.calls = [ - ((['git', 'symbolic-ref', 'HEAD'],), 'feature'), - ((['git', 'config', 'branch.feature.gerritissue'],), '123456'), - ((['git', 'config', 'branch.feature.gerritserver'],), - 'https://chromium-review.googlesource.com'), - ((['git', 'config', 'branch.feature.merge'],), 'feature'), - ((['git', 'config', 'branch.feature.remote'],), 'origin'), - ((['git', 'config', 'remote.origin.url'],), - 'https://chromium.googlesource.com/depot_tools'), - (('GetChangeDetail', 'chromium-review.googlesource.com', - 'depot_tools~123456', - ['DETAILED_ACCOUNTS', 'ALL_REVISIONS', 'CURRENT_COMMIT']), { - 'project': 'depot_tools', - 'status': 'OPEN', - 'owner': {'email': 'owner@e.mail'}, - 'revisions': { - 'deadbeaf': { - '_number': 6, - }, - 'beeeeeef': { - '_number': 7, - 'fetch': {'http': { - 'url': 'https://chromium.googlesource.com/depot_tools', - 'ref': 'refs/changes/56/123456/7' - }}, - }, - }, - }), - ] - - def _buildbucket_retry(*_, **kw): - body = json.loads(kw['body']) - self.assertEqual(len(body['builds']), 2) - - self.assertEqual(body['builds'][0]['bucket'], 'bucket1') - params = json.loads(body['builds'][0]['parameters_json']) - self.assertEqual(params['builder_name'], 'builder1') - - self.assertEqual(body['builds'][1]['bucket'], 'bucket2') - params = json.loads(body['builds'][1]['parameters_json']) - self.assertEqual(params['builder_name'], 'builder2') - - self.mock(git_cl, '_buildbucket_retry', _buildbucket_retry) - - self.mock(git_cl.urllib2, 'urlopen', lambda _: StringIO.StringIO( - json.dumps({ - 'builder1': {'bucket': 'bucket1'}, - 'builder2': {'bucket': 'bucket2'}, - }))) - - self.mock(git_cl.sys, 'stdout', StringIO.StringIO()) - self.assertEqual( - 0, git_cl.main(['try', '-b', 'builder1', '-b', 'builder2'])) - self.assertEqual( - git_cl.sys.stdout.getvalue(), - 'Tried jobs on:\n' - 'Bucket: bucket1\n' - ' builder1: []\n' - 'Bucket: bucket2\n' - ' builder2: []\n' - 'To see results here, run: git cl try-results\n' - 'To see results in browser, run: git cl web\n') - def _common_GerritCommitMsgHookCheck(self): self.mock(git_cl.sys, 'stdout', StringIO.StringIO()) self.mock(git_cl.os.path, 'abspath',