diff --git a/recipe_modules/bot_update/__init__.py b/recipe_modules/bot_update/__init__.py index 7db11595e..7846a68ad 100644 --- a/recipe_modules/bot_update/__init__.py +++ b/recipe_modules/bot_update/__init__.py @@ -15,9 +15,6 @@ from recipe_engine.recipe_api import Property from recipe_engine.types import freeze PROPERTIES = { - 'mastername': Property(default=None), - 'buildername': Property(default=None), - 'slavename': Property(default=None), 'issue': Property(default=None), 'patchset': Property(default=None), 'patch_project': Property(default=None), diff --git a/recipe_modules/bot_update/api.py b/recipe_modules/bot_update/api.py index da65b670e..375da9835 100644 --- a/recipe_modules/bot_update/api.py +++ b/recipe_modules/bot_update/api.py @@ -10,12 +10,9 @@ from recipe_engine import recipe_api class BotUpdateApi(recipe_api.RecipeApi): - def __init__(self, mastername, buildername, slavename, issue, patchset, - repository, gerrit_ref, rietveld, revision, parent_got_revision, - deps_revision_overrides, fail_patch, *args, **kwargs): - self._mastername = mastername - self._buildername = buildername - self._slavename = slavename + def __init__(self, issue, patchset, repository, gerrit_ref, rietveld, + revision, parent_got_revision, deps_revision_overrides, + fail_patch, *args, **kwargs): self._issue = issue self._patchset = patchset self._repository = repository @@ -94,11 +91,6 @@ class BotUpdateApi(recipe_api.RecipeApi): assert cfg is not None, ( 'missing gclient_config or forgot api.gclient.set_config(...) before?') - # Used by bot_update to determine if we want to run or not. - master = self._mastername - builder = self._buildername - slave = self._slavename - # Construct our bot_update command. This basically be inclusive of # everything required for bot_update to know: root = patch_root @@ -154,18 +146,13 @@ class BotUpdateApi(recipe_api.RecipeApi): rev_map = cfg.got_revision_mapping.as_jsonish() flags = [ - # 1. Do we want to run? (master/builder/slave). - ['--master', master], - ['--builder', builder], - ['--slave', slave], - - # 2. What do we want to check out (spec/root/rev/rev_map). + # What do we want to check out (spec/root/rev/rev_map). ['--spec', self.m.gclient.config_to_pythonish(cfg)], ['--root', root], ['--revision_mapping_file', self.m.json.input(rev_map)], ['--git-cache-dir', cfg.cache_dir], - # 3. How to find the patch, if any (issue/patchset). + # How to find the patch, if any (issue/patchset). ['--issue', issue], ['--patchset', patchset], ['--rietveld_server', rietveld or self._rietveld], @@ -174,7 +161,7 @@ class BotUpdateApi(recipe_api.RecipeApi): ['--apply_issue_email_file', email_file], ['--apply_issue_key_file', key_file], - # 4. Hookups to JSON output back into recipes. + # Hookups to JSON output back into recipes. ['--output_json', self.m.json.output()],] @@ -228,7 +215,7 @@ class BotUpdateApi(recipe_api.RecipeApi): # Inject Json output for testing. first_sln = cfg.solutions[0].name step_test_data = lambda: self.test_api.output_json( - master, builder, slave, root, first_sln, rev_map, self._fail_patch, + root, first_sln, rev_map, self._fail_patch, output_manifest=output_manifest, fixed_revisions=fixed_revisions) # Add suffixes to the step name, if specified. diff --git a/recipe_modules/bot_update/example.expected/basic.json b/recipe_modules/bot_update/example.expected/basic.json index 7d9aea311..4ab80d928 100644 --- a/recipe_modules/bot_update/example.expected/basic.json +++ b/recipe_modules/bot_update/example.expected/basic.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "chromium.linux", - "--builder", - "Linux Builder", - "--slave", - "totallyaslave-m1", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/basic_output_manifest.json b/recipe_modules/bot_update/example.expected/basic_output_manifest.json index 1bca91edb..dfe1e8e73 100644 --- a/recipe_modules/bot_update/example.expected/basic_output_manifest.json +++ b/recipe_modules/bot_update/example.expected/basic_output_manifest.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "chromium.linux", - "--builder", - "Linux Builder", - "--slave", - "totallyaslave-m1", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/basic_with_branch_heads.json b/recipe_modules/bot_update/example.expected/basic_with_branch_heads.json index b085aa3a2..60819286b 100644 --- a/recipe_modules/bot_update/example.expected/basic_with_branch_heads.json +++ b/recipe_modules/bot_update/example.expected/basic_with_branch_heads.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "chromium.linux", - "--builder", - "Linux Builder", - "--slave", - "totallyaslave-m1", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/clobber.json b/recipe_modules/bot_update/example.expected/clobber.json index d719a115b..88a88bd09 100644 --- a/recipe_modules/bot_update/example.expected/clobber.json +++ b/recipe_modules/bot_update/example.expected/clobber.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "experimental", - "--builder", - "Experimental Builder", - "--slave", - "somehost", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/gerrit_no_rebase_patch_ref.json b/recipe_modules/bot_update/example.expected/gerrit_no_rebase_patch_ref.json index de3b075a2..1e0a058cf 100644 --- a/recipe_modules/bot_update/example.expected/gerrit_no_rebase_patch_ref.json +++ b/recipe_modules/bot_update/example.expected/gerrit_no_rebase_patch_ref.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "experimental", - "--builder", - "Experimental Builder", - "--slave", - "somehost", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/gerrit_no_reset.json b/recipe_modules/bot_update/example.expected/gerrit_no_reset.json index 4ce5f4283..38e5cabea 100644 --- a/recipe_modules/bot_update/example.expected/gerrit_no_reset.json +++ b/recipe_modules/bot_update/example.expected/gerrit_no_reset.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "experimental", - "--builder", - "Experimental Builder", - "--slave", - "somehost", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/no_shallow.json b/recipe_modules/bot_update/example.expected/no_shallow.json index 4d9bc5daa..3e7deaf30 100644 --- a/recipe_modules/bot_update/example.expected/no_shallow.json +++ b/recipe_modules/bot_update/example.expected/no_shallow.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "experimental", - "--builder", - "Experimental Builder", - "--slave", - "somehost", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/reset_root_solution_revision.json b/recipe_modules/bot_update/example.expected/reset_root_solution_revision.json index bab1f9dab..dd65997bf 100644 --- a/recipe_modules/bot_update/example.expected/reset_root_solution_revision.json +++ b/recipe_modules/bot_update/example.expected/reset_root_solution_revision.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "experimental", - "--builder", - "Experimental Builder", - "--slave", - "somehost", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/trychange.json b/recipe_modules/bot_update/example.expected/trychange.json index bcf144838..0ca4b235d 100644 --- a/recipe_modules/bot_update/example.expected/trychange.json +++ b/recipe_modules/bot_update/example.expected/trychange.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "tryserver.chromium.linux", - "--builder", - "linux_rel", - "--slave", - "totallyaslave-c4", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/trychange_oauth2.json b/recipe_modules/bot_update/example.expected/trychange_oauth2.json index 65b1e3d84..31014bdd9 100644 --- a/recipe_modules/bot_update/example.expected/trychange_oauth2.json +++ b/recipe_modules/bot_update/example.expected/trychange_oauth2.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "tryserver.chromium.linux", - "--builder", - "linux_rel", - "--slave", - "totallyaslave-c4", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/tryjob.json b/recipe_modules/bot_update/example.expected/tryjob.json index 46a097fd4..96f2e6c42 100644 --- a/recipe_modules/bot_update/example.expected/tryjob.json +++ b/recipe_modules/bot_update/example.expected/tryjob.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "tryserver.chromium.linux", - "--builder", - "linux_rel", - "--slave", - "totallyaslave-c4", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/tryjob_fail.json b/recipe_modules/bot_update/example.expected/tryjob_fail.json index 77238b56b..216406930 100644 --- a/recipe_modules/bot_update/example.expected/tryjob_fail.json +++ b/recipe_modules/bot_update/example.expected/tryjob_fail.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "tryserver.chromium.linux", - "--builder", - "linux_rel", - "--slave", - "totallyaslave-c4", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json b/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json index 764ae322b..e791d7561 100644 --- a/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json +++ b/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "tryserver.chromium.linux", - "--builder", - "linux_rel", - "--slave", - "totallyaslave-c4", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json b/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json index 841dbcfed..37a6dbb5d 100644 --- a/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json +++ b/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "tryserver.chromium.linux", - "--builder", - "linux_rel", - "--slave", - "totallyaslave-c4", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle.json b/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle.json index 528ac2b16..e94ec08f7 100644 --- a/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle.json +++ b/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "chromium.testing.master", - "--builder", - "TestBuilder", - "--slave", - "TestSlavename", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/tryjob_v8.json b/recipe_modules/bot_update/example.expected/tryjob_v8.json index 9cae37c20..01bc4f27a 100644 --- a/recipe_modules/bot_update/example.expected/tryjob_v8.json +++ b/recipe_modules/bot_update/example.expected/tryjob_v8.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "tryserver.chromium.linux", - "--builder", - "linux_rel", - "--slave", - "totallyaslave-c4", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.expected/tryjob_v8_head_by_default.json b/recipe_modules/bot_update/example.expected/tryjob_v8_head_by_default.json index 1cfc85040..4cabfbf18 100644 --- a/recipe_modules/bot_update/example.expected/tryjob_v8_head_by_default.json +++ b/recipe_modules/bot_update/example.expected/tryjob_v8_head_by_default.json @@ -4,12 +4,6 @@ "python", "-u", "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", - "--master", - "chromium.testing.master", - "--builder", - "TestBuilder", - "--slave", - "TestSlavename", "--spec", "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]", "--root", diff --git a/recipe_modules/bot_update/example.py b/recipe_modules/bot_update/example.py index 8f0182d16..362d1707b 100644 --- a/recipe_modules/bot_update/example.py +++ b/recipe_modules/bot_update/example.py @@ -57,99 +57,57 @@ def RunSteps(api): def GenTests(api): yield api.test('basic') + api.properties( - mastername='chromium.linux', - buildername='Linux Builder', - slavename='totallyaslave-m1', patch=False, revision='abc' ) yield api.test('basic_with_branch_heads') + api.properties( - mastername='chromium.linux', - buildername='Linux Builder', - slavename='totallyaslave-m1', with_branch_heads=True, suffix='with branch heads' ) yield api.test('basic_output_manifest') + api.properties( - mastername='chromium.linux', - buildername='Linux Builder', - slavename='totallyaslave-m1', output_manifest=True, ) yield api.test('tryjob') + api.properties( - mastername='tryserver.chromium.linux', - buildername='linux_rel', - slavename='totallyaslave-c4', issue=12345, patchset=654321, rietveld='https://rietveld.example.com/', ) yield api.test('trychange') + api.properties( - mastername='tryserver.chromium.linux', - buildername='linux_rel', - slavename='totallyaslave-c4', refs=['+refs/change/1/2/333'], ) yield api.test('trychange_oauth2') + api.properties( - mastername='tryserver.chromium.linux', - buildername='linux_rel', - slavename='totallyaslave-c4', oauth2=True, ) yield api.test('tryjob_fail') + api.properties( - mastername='tryserver.chromium.linux', - buildername='linux_rel', - slavename='totallyaslave-c4', issue=12345, patchset=654321, rietveld='https://rietveld.example.com/', ) + api.step_data('bot_update', retcode=1) yield api.test('tryjob_fail_patch') + api.properties( - mastername='tryserver.chromium.linux', - buildername='linux_rel', - slavename='totallyaslave-c4', issue=12345, patchset=654321, rietveld='https://rietveld.example.com/', fail_patch='apply', ) + api.step_data('bot_update', retcode=88) yield api.test('tryjob_fail_patch_download') + api.properties( - mastername='tryserver.chromium.linux', - buildername='linux_rel', - slavename='totallyaslave-c4', issue=12345, patchset=654321, rietveld='https://rietveld.example.com/', fail_patch='download' ) + api.step_data('bot_update', retcode=87) yield api.test('no_shallow') + api.properties( - mastername='experimental', - buildername='Experimental Builder', - slavename='somehost', no_shallow=1 ) yield api.test('clobber') + api.properties( - mastername='experimental', - buildername='Experimental Builder', - slavename='somehost', clobber=1 ) yield api.test('reset_root_solution_revision') + api.properties( - mastername='experimental', - buildername='Experimental Builder', - slavename='somehost', root_solution_revision='revision', ) yield api.test('gerrit_no_reset') + api.properties( - mastername='experimental', - buildername='Experimental Builder', - slavename='somehost', gerrit_no_reset=1 ) yield api.test('gerrit_no_rebase_patch_ref') + api.properties( - mastername='experimental', - buildername='Experimental Builder', - slavename='somehost', gerrit_no_rebase_patch_ref=True ) yield api.test('apply_gerrit_ref') + api.properties( @@ -159,9 +117,6 @@ def GenTests(api): test_apply_gerrit_ref=True, ) yield api.test('tryjob_v8') + api.properties( - mastername='tryserver.chromium.linux', - buildername='linux_rel', - slavename='totallyaslave-c4', issue=12345, patchset=654321, rietveld='https://rietveld.example.com/', diff --git a/recipe_modules/bot_update/resources/bot_update.py b/recipe_modules/bot_update/resources/bot_update.py index b69b49ffd..9dc1b14d0 100755 --- a/recipe_modules/bot_update/resources/bot_update.py +++ b/recipe_modules/bot_update/resources/bot_update.py @@ -167,62 +167,6 @@ GOT_REVISION_MAPPINGS = { } -BOT_UPDATE_MESSAGE = """ -What is the "Bot Update" step? -============================== - -This step ensures that the source checkout on the bot (e.g. Chromium's src/ and -its dependencies) is checked out in a consistent state. This means that all of -the necessary repositories are checked out, no extra repositories are checked -out, and no locally modified files are present. - -These actions used to be taken care of by the "gclient revert" and "update" -steps. However, those steps are known to be buggy and occasionally flaky. This -step has two main advantages over them: - * it only operates in Git, so the logic can be clearer and cleaner; and - * it is a slave-side script, so its behavior can be modified without - restarting the master. - -Why Git, you ask? Because that is the direction that the Chromium project is -heading. This step is an integral part of the transition from using the SVN repo -at chrome/trunk/src to using the Git repo src.git. Please pardon the dust while -we fully convert everything to Git. This message will get out of your way -eventually, and the waterfall will be a happier place because of it. - -This step can be activated or deactivated independently on every builder on -every master. When it is active, the "gclient revert" and "update" steps become -no-ops. When it is inactive, it prints this message, cleans up after itself, and -lets everything else continue as though nothing has changed. Eventually, when -everything is stable enough, this step will replace them entirely. - -Debugging information: -(master/builder/slave may be unspecified on recipes) -master: %(master)s -builder: %(builder)s -slave: %(slave)s -forced by recipes: %(recipe)s -CURRENT_DIR: %(CURRENT_DIR)s -BUILDER_DIR: %(BUILDER_DIR)s -SLAVE_DIR: %(SLAVE_DIR)s -THIS_DIR: %(THIS_DIR)s -SCRIPTS_DIR: %(SCRIPTS_DIR)s -BUILD_DIR: %(BUILD_DIR)s -ROOT_DIR: %(ROOT_DIR)s -DEPOT_TOOLS_DIR: %(DEPOT_TOOLS_DIR)s -bot_update.py is:""" - -ACTIVATED_MESSAGE = """ACTIVE. -The bot will perform a Git checkout in this step. -The "gclient revert" and "update" steps are no-ops. - -""" - -NOT_ACTIVATED_MESSAGE = """INACTIVE. -This step does nothing. You actually want to look at the "update" step. - -""" - - GCLIENT_TEMPLATE = """solutions = %(solutions)s cache_dir = r%(cache_dir)s @@ -255,98 +199,6 @@ RECOGNIZED_PATHS = { } RECOGNIZED_PATHS.update(internal_data.get('RECOGNIZED_PATHS', {})) -ENABLED_MASTERS = [ - 'bot_update.always_on', - 'chromium.android', - 'chromium.angle', - 'chromium.chrome', - 'chromium.chromedriver', - 'chromium.chromiumos', - 'chromium', - 'chromium.fyi', - 'chromium.goma', - 'chromium.gpu', - 'chromium.gpu.fyi', - 'chromium.infra', - 'chromium.infra.cron', - 'chromium.linux', - 'chromium.lkgr', - 'chromium.mac', - 'chromium.memory', - 'chromium.memory.fyi', - 'chromium.perf', - 'chromium.perf.fyi', - 'chromium.swarm', - 'chromium.webkit', - 'chromium.webrtc', - 'chromium.webrtc.fyi', - 'chromium.win', - 'client.catapult', - 'client.drmemory', - 'client.mojo', - 'client.nacl', - 'client.nacl.ports', - 'client.nacl.sdk', - 'client.nacl.toolchain', - 'client.pdfium', - 'client.skia', - 'client.skia.fyi', - 'client.v8', - 'client.v8.branches', - 'client.v8.fyi', - 'client.v8.ports', - 'client.webrtc', - 'client.webrtc.fyi', - 'tryserver.blink', - 'tryserver.client.catapult', - 'tryserver.client.mojo', - 'tryserver.chromium.android', - 'tryserver.chromium.angle', - 'tryserver.chromium.linux', - 'tryserver.chromium.mac', - 'tryserver.chromium.perf', - 'tryserver.chromium.win', - 'tryserver.infra', - 'tryserver.nacl', - 'tryserver.v8', - 'tryserver.webrtc', -] -ENABLED_MASTERS += internal_data.get('ENABLED_MASTERS', []) - -ENABLED_BUILDERS = { - 'client.dart.fyi': [ - 'v8-linux-release', - 'v8-mac-release', - 'v8-win-release', - ], - 'client.dynamorio': [ - 'linux-v8-dr', - ], -} -ENABLED_BUILDERS.update(internal_data.get('ENABLED_BUILDERS', {})) - -ENABLED_SLAVES = {} -ENABLED_SLAVES.update(internal_data.get('ENABLED_SLAVES', {})) - -# Disabled filters get run AFTER enabled filters, so for example if a builder -# config is enabled, but a bot on that builder is disabled, that bot will -# be disabled. -DISABLED_BUILDERS = {} -DISABLED_BUILDERS.update(internal_data.get('DISABLED_BUILDERS', {})) - -DISABLED_SLAVES = {} -DISABLED_SLAVES.update(internal_data.get('DISABLED_SLAVES', {})) - -# These masters work only in Git, meaning for got_revision, always output -# a git hash rather than a SVN rev. -GIT_MASTERS = [ - 'client.v8', - 'client.v8.branches', - 'client.v8.ports', - 'tryserver.v8', -] -GIT_MASTERS += internal_data.get('GIT_MASTERS', []) - # How many times to try before giving up. ATTEMPTS = 5 @@ -525,34 +377,6 @@ def get_gclient_spec(solutions, target_os, target_os_only, git_cache_dir): } -def check_enabled(master, builder, slave): - if master in ENABLED_MASTERS: - return True - builder_list = ENABLED_BUILDERS.get(master) - if builder_list and builder in builder_list: - return True - slave_list = ENABLED_SLAVES.get(master) - if slave_list and slave in slave_list: - return True - return False - - -def check_disabled(master, builder, slave): - """Returns True if disabled, False if not disabled.""" - builder_list = DISABLED_BUILDERS.get(master) - if builder_list and builder in builder_list: - return True - slave_list = DISABLED_SLAVES.get(master) - if slave_list and slave in slave_list: - return True - return False - - -def check_valid_host(master, builder, slave): - return (check_enabled(master, builder, slave) - and not check_disabled(master, builder, slave)) - - def maybe_ignore_revision(revision, buildspec): """Handle builders that don't care what buildbot tells them to build. @@ -1388,9 +1212,6 @@ def parse_args(): parse.add_option('--gerrit_no_reset', action='store_true', help='Bypass calling reset after applying a gerrit ref.') parse.add_option('--specs', help='Gcilent spec.') - parse.add_option('--master', - help='Master name. If specified and it is not in ' - 'bot_update\'s whitelist, bot_update will be noop.') parse.add_option('-f', '--force', action='store_true', help='Bypass check to see if we want to be run. ' 'Should ONLY be used locally or by smart recipes.') @@ -1412,8 +1233,6 @@ def parse_args(): parse.add_option('--slave_name', default=socket.getfqdn().split('.')[0], help='Hostname of the current machine, ' 'used for determining whether or not to activate.') - parse.add_option('--builder_name', help='Name of the builder, ' - 'used for determining whether or not to activate.') parse.add_option('--build_dir', default=os.getcwd()) parse.add_option('--flag_file', default=path.join(os.getcwd(), 'update.flag')) @@ -1520,7 +1339,7 @@ def prepare(options, git_slns, active): return revisions, step_text -def checkout(options, git_slns, specs, buildspec, master, +def checkout(options, git_slns, specs, buildspec, svn_root, revisions, step_text): first_sln = git_slns[0]['name'] dir_names = [sln.get('name') for sln in git_slns if 'name' in sln] @@ -1583,8 +1402,7 @@ def checkout(options, git_slns, specs, buildspec, master, print '@@@STEP_TEXT@%s PATCH FAILED@@@' % step_text raise - # Revision is an svn revision, unless it's a git master. - use_svn_rev = master not in GIT_MASTERS + use_svn_rev = False # Take care of got_revisions outputs. revision_mapping = dict(GOT_REVISION_MAPPINGS.get(svn_root, {})) @@ -1623,22 +1441,9 @@ def checkout(options, git_slns, specs, buildspec, master, emit_properties(got_revisions) -def print_help_text(force, output_json, active, master, builder, slave): - """Print helpful messages to tell devs whats going on.""" - if force and output_json: - recipe_force = 'Forced on by recipes' - elif active and output_json: - recipe_force = 'Off by recipes, but forced on by bot update' - elif not active and output_json: - recipe_force = 'Forced off by recipes' - else: - recipe_force = 'N/A. Was not called by recipes' - - print BOT_UPDATE_MESSAGE % { - 'master': master or 'Not specified', - 'builder': builder or 'Not specified', - 'slave': slave or 'Not specified', - 'recipe': recipe_force, +def print_debug_info(): + print "Debugging info:" + debug_params = { 'CURRENT_DIR': CURRENT_DIR, 'BUILDER_DIR': BUILDER_DIR, 'SLAVE_DIR': SLAVE_DIR, @@ -1648,26 +1453,23 @@ def print_help_text(force, output_json, active, master, builder, slave): 'ROOT_DIR': ROOT_DIR, 'DEPOT_TOOLS_DIR': DEPOT_TOOLS_DIR, }, - print ACTIVATED_MESSAGE if active else NOT_ACTIVATED_MESSAGE + for k, v in sorted(debug_params.iteritems()): + print "%s: %r" % (k, v) def main(): # Get inputs. options, _ = parse_args() - builder = options.builder_name - slave = options.slave_name - master = options.master # Always run. This option will be removed in a later CL, but for now make sure # that bot_update is ALWAYS set to run, no matter what. options.force = True # Check if this script should activate or not. - active = options.force or check_valid_host(master, builder, slave) + active = True # Print a helpful message to tell developers whats going on with this step. - print_help_text( - options.force, options.output_json, active, master, builder, slave) + print_debug_info() # Parse, munipulate, and print the gclient solutions. specs = {} @@ -1681,7 +1483,7 @@ def main(): try: # Dun dun dun, the main part of bot_update. revisions, step_text = prepare(options, git_slns, active) - checkout(options, git_slns, specs, buildspec, master, svn_root, revisions, + checkout(options, git_slns, specs, buildspec, svn_root, revisions, step_text) except Inactive: diff --git a/recipe_modules/bot_update/test_api.py b/recipe_modules/bot_update/test_api.py index eeeb49ba6..7294052b1 100644 --- a/recipe_modules/bot_update/test_api.py +++ b/recipe_modules/bot_update/test_api.py @@ -3,15 +3,12 @@ # found in the LICENSE file. import hashlib -import os import struct -import sys from recipe_engine import recipe_test_api class BotUpdateTestApi(recipe_test_api.RecipeTestApi): - def output_json(self, master, builder, slave, root, first_sln, - revision_mapping, fail_patch=False, + def output_json(self, root, first_sln, revision_mapping, fail_patch=False, output_manifest=False, fixed_revisions=None): """Deterministically synthesize json.output test data for gclient's --output-json option.