| # Copyright 2018 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """A recipe for picking a stable HEAD revision for chromium/src. |
| |
| This recipe picks a commit at HEAD, and then triggers the other codesearch |
| recipes with the chosen commit hash as a parameter. This ensures that codesearch |
| index packs (used to generate xrefs) are all generated from the same revision. |
| """ |
| |
| DEPS = [ |
| 'recipe_engine/buildbucket', |
| 'recipe_engine/properties', |
| 'recipe_engine/step', |
| 'recipe_engine/url', |
| 'trigger', |
| ] |
| |
| def RunSteps(api): |
| url = 'https://chromium.googlesource.com/chromium/src/+refs/heads/master?format=JSON' |
| |
| master_ref_json = api.url.get_json( |
| url, |
| step_name='Get hash of HEAD commit on master', |
| strip_prefix=api.url.GERRIT_JSON_PREFIX, |
| default_test_data={'refs/heads/master': {'value': 'deadbeef'}}).output |
| commit_hash = master_ref_json.get( |
| 'refs/heads/master', {}).get('value', 'HEAD') |
| api.step('Print revision', ['echo', commit_hash]) |
| |
| # Trigger the chromium_codesearch builders. |
| api.trigger( |
| { |
| 'builder_name': 'codesearch-gen-chromium-chromiumos', |
| 'properties': { |
| 'root_solution_revision': commit_hash, |
| }, |
| }, |
| { |
| 'builder_name': 'codesearch-gen-chromium-linux', |
| 'properties': { |
| 'root_solution_revision': commit_hash, |
| }, |
| }, |
| { |
| 'builder_name': 'codesearch-gen-chromium-android', |
| 'properties': { |
| 'root_solution_revision': commit_hash, |
| }, |
| }, |
| { |
| 'builder_name': 'codesearch-gen-chromium-win', |
| 'properties': { |
| 'root_solution_revision': commit_hash, |
| }, |
| }, |
| ) |
| |
| def GenTests(api): |
| yield api.test('basic') |