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) |
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') |