Chromium Code Reviews| Index: scripts/slave/recipes/webrtc/chromium.py |
| diff --git a/scripts/slave/recipes/webrtc/chromium.py b/scripts/slave/recipes/webrtc/chromium.py |
| index 3652fe362108d928cec7ddeb1e2301697c83fa16..62b80b6fdf34cc664cc0e70c3d52dc9ebae6757f 100644 |
| --- a/scripts/slave/recipes/webrtc/chromium.py |
| +++ b/scripts/slave/recipes/webrtc/chromium.py |
| @@ -63,20 +63,6 @@ def GenSteps(api): |
| s = api.gclient.c.solutions |
| s[0].revision = 'HEAD' |
| - # Revision to be used for SVN-based checkouts and passing builds between |
| - # builders/testers. |
| - # For forced builds, revision is empty, in which case we sync HEAD. |
| - webrtc_revision = api.properties.get('revision', 'HEAD') |
| - if webrtc_revision is None: |
| - webrtc_revision = 'HEAD' |
| - |
| - if bot_type == 'tester': |
| - webrtc_revision = api.properties.get('parent_got_revision') |
| - assert webrtc_revision, ( |
| - 'Testers cannot be forced without providing revision information. ' |
| - 'Please select a previous build and click [Rebuild] or force a build ' |
| - 'for a Builder instead (will trigger new runs for the testers).') |
| - |
| # Since bot_update uses separate Git mirrors for the webrtc and libjingle |
| # repos, they cannot use the revision we get from the poller, since it won't |
| # be present in both if there's a revision that only contains changes in one |
| @@ -103,18 +89,16 @@ def GenSteps(api): |
| if mastername == 'chromium.webrtc.fyi' and not run_gn: |
| api.webrtc.sizes(got_revision) |
| + archive_revision = api.properties.get('parent_got_revision', got_revision) |
|
kjellander_chromium
2014/08/27 14:32:59
I believe I'm fixing http://crbug.com/407311 with
|
| if bot_type == 'builder' and bot_config.get('build_gs_archive'): |
| api.webrtc.package_build( |
| - api.webrtc.GS_ARCHIVES[bot_config['build_gs_archive']], got_revision) |
| + api.webrtc.GS_ARCHIVES[bot_config['build_gs_archive']], |
| + archive_revision) |
| if bot_type == 'tester': |
| - # Ensure old build directory is not used is by removing it. |
| - api.path.rmtree( |
| - 'build directory', |
| - api.chromium.c.build_dir.join(api.chromium.c.build_config_fs)) |
| - |
| api.webrtc.extract_build( |
| - api.webrtc.GS_ARCHIVES[bot_config['build_gs_archive']], got_revision) |
| + api.webrtc.GS_ARCHIVES[bot_config['build_gs_archive']], |
| + archive_revision) |
| if bot_type in ('builder_tester', 'tester'): |
| api.webrtc.cleanup() |
| @@ -135,10 +119,14 @@ def _sanitize_nonalpha(text): |
| def GenTests(api): |
| - def generate_builder(mastername, buildername, bot_config, revision=None, |
| + builders = api.webrtc.BUILDERS |
| + |
| + def generate_builder(mastername, buildername, revision=None, |
| parent_got_revision=None, suffix=None): |
| suffix = suffix or '' |
| + bot_config = builders[mastername]['builders'][buildername] |
| bot_type = bot_config.get('bot_type', 'builder_tester') |
| + |
| if bot_type in ('builder', 'builder_tester'): |
| assert bot_config.get('parent_buildername') is None, ( |
| 'Unexpected parent_buildername for builder %r on master %r.' % |
| @@ -161,28 +149,29 @@ def GenTests(api): |
| return test |
| for mastername in ('chromium.webrtc', 'chromium.webrtc.fyi'): |
| - master_config = api.webrtc.BUILDERS[mastername] |
| - for buildername, bot_config in master_config['builders'].iteritems(): |
| + master_config = builders[mastername] |
| + for buildername in master_config['builders'].keys(): |
| revision = '12345' if mastername == 'chromium.webrtc.fyi' else '321321' |
| - yield generate_builder(mastername, buildername, bot_config, revision) |
| + yield generate_builder(mastername, buildername, revision) |
| # Forced build (not specifying any revision). |
| mastername = 'chromium.webrtc' |
| buildername = 'Linux Builder' |
| - bot_config = api.webrtc.BUILDERS[mastername]['builders'][buildername] |
| - yield generate_builder(mastername, buildername, bot_config, revision=None, |
| + yield generate_builder(mastername, buildername, revision=None, |
| suffix='_forced') |
| + buildername = 'Linux Tester' |
| + yield generate_builder(mastername, buildername, revision=None, |
| + suffix='_forced_invalid') |
| + |
| # Periodic scheduler triggered builds also don't contain revision. |
| mastername = 'chromium.webrtc.fyi' |
| buildername = 'Win Builder' |
| - bot_config = api.webrtc.BUILDERS[mastername]['builders'][buildername] |
| - yield generate_builder(mastername, buildername, bot_config, revision=None, |
| + yield generate_builder(mastername, buildername, revision=None, |
| suffix='_periodic_triggered') |
| # Testers gets got_revision value from builder passed as parent_got_revision. |
| buildername = 'Win7 Tester' |
| - bot_config = api.webrtc.BUILDERS[mastername]['builders'][buildername] |
| - yield generate_builder(mastername, buildername, bot_config, revision=None, |
| + yield generate_builder(mastername, buildername, revision=None, |
| parent_got_revision='12345', |
| suffix='_periodic_triggered') |