Revert "Add 2 additional tests config in waterfalls.pyl."

This reverts commit 429c1bd74d5b821a360be6a215bcbe7c422bedeb.

Reason for revert: It breaks some CQ bots (e.g. https://ci.chromium.org/ui/p/webrtc/builders/try/linux_compile_rel/42825/overview). I am reverting to check is this is the culprit.

Original change's description:
> Add 2 additional tests config in waterfalls.pyl.
>
> * Add a presubmit check that generate_builbot_json.py has been called.
> * Add a webrtc_mixins.pyl file.
>
> Bug: webrtc:13899
> Change-Id: I7c4226ddd80bf9376bcb91476a1446a0392e7ec6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257904
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Jeremy Leconte <jleconte@google.com>
> Cr-Commit-Position: refs/heads/main@{#36428}

Bug: webrtc:13899
Change-Id: Ic79306688c26937a988a9eacb4799f53f7145c65
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257919
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36431}
diff --git a/infra/config/generated/project.pyl b/infra/config/generated/project.pyl
deleted file mode 100644
index df001db..0000000
--- a/infra/config/generated/project.pyl
+++ /dev/null
@@ -1,3 +0,0 @@
-# This is a non-LUCI generated file
-# This is consumed by infra/specs presubmit checks to validate the config
-{"validate_source_side_specs_have_builder": False}
diff --git a/infra/specs/PRESUBMIT.py b/infra/specs/PRESUBMIT.py
index df69665..883e268 100644
--- a/infra/specs/PRESUBMIT.py
+++ b/infra/specs/PRESUBMIT.py
@@ -6,8 +6,6 @@
 # in the file PATENTS.  All contributing project authors may
 # be found in the AUTHORS file in the root of the source tree.
 
-import os
-
 
 def _HasLocalChanges(input_api):
   ret = input_api.subprocess.call(['git', 'diff', '--quiet'])
@@ -33,34 +31,13 @@
   return results
 
 
-def CheckSourceSideSpecs(input_api, output_api):
-  d = os.path.dirname
-  angle_root = d(d(input_api.PresubmitLocalPath()))
-  gen_script = os.path.join(angle_root, 'testing', 'buildbot',
-                            'generate_buildbot_json.py')
-
-  commands = [
-      input_api.Command(name='generate_buildbot_json',
-                        cmd=[
-                            input_api.python_executable, gen_script, '--check',
-                            '--verbose', '--pyl-files-dir',
-                            input_api.PresubmitLocalPath()
-                        ],
-                        kwargs={},
-                        message=output_api.PresubmitError),
-  ]
-  return input_api.RunTests(commands)
-
-
 def CheckChangeOnUpload(input_api, output_api):
   results = []
   results.extend(CheckPatchFormatted(input_api, output_api))
-  results.extend(CheckSourceSideSpecs(input_api, output_api))
   return results
 
 
 def CheckChangeOnCommit(input_api, output_api):
   results = []
   results.extend(CheckPatchFormatted(input_api, output_api))
-  results.extend(CheckSourceSideSpecs(input_api, output_api))
   return results
diff --git a/infra/specs/client.webrtc.json b/infra/specs/client.webrtc.json
index 1ae5934..a586549 100644
--- a/infra/specs/client.webrtc.json
+++ b/infra/specs/client.webrtc.json
@@ -337,7 +337,7 @@
           "dimension_sets": [
             {
               "cpu": "x86-64",
-              "os": "Ubuntu",
+              "os": "Ubuntu-18.04",
               "pool": "WebRTC-baremetal"
             }
           ]
@@ -409,414 +409,5 @@
         "test_id_prefix": "ninja://:webrtc_nonparallel_tests/"
       }
     ]
-  },
-  "Win32 Release (Clang)": {
-    "isolated_scripts": [
-      {
-        "isolate_name": "audio_decoder_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "audio_decoder_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://modules/audio_coding:audio_decoder_unittests/"
-      },
-      {
-        "isolate_name": "common_audio_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "common_audio_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://common_audio:common_audio_unittests/"
-      },
-      {
-        "isolate_name": "common_video_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "common_video_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://common_video:common_video_unittests/"
-      },
-      {
-        "isolate_name": "dcsctp_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "dcsctp_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://net/dcsctp:dcsctp_unittests/"
-      },
-      {
-        "isolate_name": "low_bandwidth_audio_test",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "low_bandwidth_audio_test",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://audio:low_bandwidth_audio_test/"
-      },
-      {
-        "isolate_name": "modules_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "modules_tests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ],
-          "shards": 2
-        },
-        "test_id_prefix": "ninja://modules:modules_tests/"
-      },
-      {
-        "isolate_name": "modules_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "modules_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ],
-          "shards": 6
-        },
-        "test_id_prefix": "ninja://modules:modules_unittests/"
-      },
-      {
-        "isolate_name": "peerconnection_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "peerconnection_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ],
-          "shards": 4
-        },
-        "test_id_prefix": "ninja://pc:peerconnection_unittests/"
-      },
-      {
-        "isolate_name": "rtc_media_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "rtc_media_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://media:rtc_media_unittests/"
-      },
-      {
-        "isolate_name": "rtc_pc_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "rtc_pc_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://pc:rtc_pc_unittests/"
-      },
-      {
-        "isolate_name": "rtc_stats_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "rtc_stats_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://stats:rtc_stats_unittests/"
-      },
-      {
-        "isolate_name": "rtc_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "rtc_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ],
-          "shards": 6
-        },
-        "test_id_prefix": "ninja://:rtc_unittests/"
-      },
-      {
-        "isolate_name": "system_wrappers_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "system_wrappers_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://system_wrappers:system_wrappers_unittests/"
-      },
-      {
-        "isolate_name": "test_support_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "test_support_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://test:test_support_unittests/"
-      },
-      {
-        "isolate_name": "tools_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "tools_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://rtc_tools:tools_unittests/"
-      },
-      {
-        "isolate_name": "video_capture_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "video_capture_tests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows",
-              "pool": "WebRTC-baremetal"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://modules/video_capture:video_capture_tests/"
-      },
-      {
-        "isolate_name": "video_engine_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "video_engine_tests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ],
-          "shards": 4
-        },
-        "test_id_prefix": "ninja://:video_engine_tests/"
-      },
-      {
-        "isolate_name": "voip_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "voip_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://:voip_unittests/"
-      },
-      {
-        "isolate_name": "webrtc_nonparallel_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "webrtc_nonparallel_tests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Windows-7-SP1"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://:webrtc_nonparallel_tests/"
-      }
-    ]
   }
 }
diff --git a/infra/specs/generate_buildbot_json.py b/infra/specs/generate_buildbot_json.py
index aa03751..d625580 100755
--- a/infra/specs/generate_buildbot_json.py
+++ b/infra/specs/generate_buildbot_json.py
@@ -10,9 +10,8 @@
 ADDITIONAL_MIXINS dictonary. Calls Chromium's generate_buildbot_json.
 """
 
-import ast
+import json
 import os
-import subprocess
 import sys
 
 _SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__))
@@ -23,7 +22,13 @@
 from testing.buildbot import generate_buildbot_json
 
 # Add custom mixins here.
-WEBRTC_MIXIN_FILE_NAME = os.path.join(_SCRIPT_DIR, 'mixins_webrtc.pyl')
+ADDITIONAL_MIXINS = {
+    'result_adapter': {
+        'resultdb': {
+            'result_format': 'json'
+        },
+    },
+}
 MIXIN_FILE_NAME = os.path.join(_SCRIPT_DIR, 'mixins.pyl')
 MIXINS_PYL_TEMPLATE = """\
 # GENERATED FILE - DO NOT EDIT.
@@ -42,47 +47,41 @@
 """
 
 
-def generate_mixins_file_from_used_mixins(generator):
+def main():
   chromium_args = generate_buildbot_json.BBJSONGenerator.parse_args(argv=None)
   chromium_generator = generate_buildbot_json.BBJSONGenerator(chromium_args)
   chromium_generator.load_configuration_files()
 
-  seen_mixins = set()
-  for waterfall in generator.waterfalls:
-    seen_mixins = seen_mixins.union(waterfall.get('mixins', set()))
-    for bot_name, tester in waterfall['machines'].items():
-      del bot_name
-      seen_mixins = seen_mixins.union(tester.get('mixins', set()))
-  for suite in generator.test_suites.values():
-    for test in suite.values():
-      seen_mixins = seen_mixins.union(test.get('mixins', set()))
-
-  found_mixins = ast.literal_eval(open(WEBRTC_MIXIN_FILE_NAME).read())
-  for mixin in seen_mixins:
-    if mixin not in found_mixins:
-      found_mixins[mixin] = chromium_generator.mixins[mixin]
-    elif mixin in chromium_generator.mixins:
-      assert False, '"%s" is already defined in Chromium\'s mixins.pyl' % mixin
-
-  format_data = {
-      'script_name': os.path.basename(__file__),
-      'data_source': 'mixins_webrtc.pyl and Chromium\'s mixins.pyl',
-      'mixin_data': dict(sorted(found_mixins.items())),
-  }
-  with open(MIXIN_FILE_NAME, 'w') as f:
-    f.write(MIXINS_PYL_TEMPLATE.format(**format_data))
-
-  return subprocess.call(['yapf', '-i', MIXIN_FILE_NAME])
-
-
-def main():
   override_args = ['--pyl-files-dir', _SCRIPT_DIR]
   webrtc_args = generate_buildbot_json.BBJSONGenerator.parse_args(override_args)
   webrtc_generator = generate_buildbot_json.BBJSONGenerator(webrtc_args)
   webrtc_generator.load_configuration_files()
   webrtc_generator.resolve_configuration_files()
 
-  generate_mixins_file_from_used_mixins(webrtc_generator)
+  seen_mixins = set()
+  for waterfall in webrtc_generator.waterfalls:
+    seen_mixins = seen_mixins.union(waterfall.get('mixins', set()))
+    for bot_name, tester in waterfall['machines'].items():
+      del bot_name
+      seen_mixins = seen_mixins.union(tester.get('mixins', set()))
+  for suite in webrtc_generator.test_suites.values():
+    for test in suite.values():
+      seen_mixins = seen_mixins.union(test.get('mixins', set()))
+
+  found_mixins = ADDITIONAL_MIXINS.copy()
+  for mixin in seen_mixins:
+    if mixin not in found_mixins:
+      found_mixins[mixin] = chromium_generator.mixins[mixin]
+
+  format_data = {
+      'script_name': os.path.basename(__file__),
+      'data_source': 'waterfall.pyl and Chromium\'s mixins.pyl',
+      'mixin_data': json.dumps(dict(sorted(found_mixins.items())), indent=2),
+  }
+  with open(MIXIN_FILE_NAME, 'w') as f:
+    f.write(MIXINS_PYL_TEMPLATE.format(**format_data))
+    f.close()
+
   return webrtc_generator.main()
 
 
diff --git a/infra/specs/mixins.pyl b/infra/specs/mixins.pyl
index 17e2e3b..b14cc2f 100644
--- a/infra/specs/mixins.pyl
+++ b/infra/specs/mixins.pyl
@@ -1,6 +1,6 @@
 # GENERATED FILE - DO NOT EDIT.
 # Generated by generate_buildbot_json.py using data from
-# mixins_webrtc.pyl and Chromium's mixins.pyl
+# waterfall.pyl and Chromium's mixins.pyl
 #
 # Copyright (c) 2022 The WebRTC project authors. All Rights Reserved.
 #
@@ -11,67 +11,22 @@
 # be found in the AUTHORS file in the root of the source tree.
 
 {
-  'baremetal-pool': {
-    'swarming': {
-      'dimensions': {
-        'pool': 'WebRTC-baremetal'
+  "linux-bionic": {
+    "swarming": {
+      "dimensions": {
+        "os": "Ubuntu-18.04"
       }
     }
   },
-  'baremetal-try-pool': {
-    'swarming': {
-      'dimensions': {
-        'pool': 'WebRTC-baremetal-try'
-      }
+  "result_adapter": {
+    "resultdb": {
+      "result_format": "json"
     }
   },
-  'linux': {
-    'swarming': {
-      'dimensions': {
-        'os': 'Ubuntu'
-      }
-    }
-  },
-  'linux-bionic': {
-    'swarming': {
-      'dimensions': {
-        'os': 'Ubuntu-18.04'
-      }
-    }
-  },
-  'quick-perf-tests': {
-    'args': [
-      '--force_fieldtrials=WebRTC-QuickPerfTest/Enabled/', '--nologs',
-      '--gtest_output=json:${ISOLATED_OUTDIR}/gtest_output.json'
-    ],
-    'resultdb': {
-      'result_format': 'gtest_json',
-      'result_file': '${ISOLATED_OUTDIR}/gtest_output.json'
-    }
-  },
-  'resultdb-json-format': {
-    'resultdb': {
-      'result_format': 'json'
-    }
-  },
-  'win': {
-    'swarming': {
-      'dimensions': {
-        'os': 'Windows'
-      }
-    }
-  },
-  'win7': {
-    'swarming': {
-      'dimensions': {
-        'os': 'Windows-7-SP1'
-      }
-    }
-  },
-  'x86-64': {
-    'swarming': {
-      'dimensions': {
-        'cpu': 'x86-64'
+  "x86-64": {
+    "swarming": {
+      "dimensions": {
+        "cpu": "x86-64"
       }
     }
   }
diff --git a/infra/specs/mixins_webrtc.pyl b/infra/specs/mixins_webrtc.pyl
deleted file mode 100644
index f5a8af2..0000000
--- a/infra/specs/mixins_webrtc.pyl
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright (c) 2022 The WebRTC project authors. All Rights Reserved.
-#
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file in the root of the source
-# tree. An additional intellectual property rights grant can be found
-# in the file PATENTS.  All contributing project authors may
-# be found in the AUTHORS file in the root of the source tree.
-
-{
-  'baremetal-pool': {
-    'swarming': {
-      'dimensions': {
-        'pool': 'WebRTC-baremetal',
-      },
-    },
-  },
-  'baremetal-try-pool': {
-    'swarming': {
-      'dimensions': {
-        'pool': 'WebRTC-baremetal-try',
-      },
-    },
-  },
-  'quick-perf-tests': {
-    'args': [
-      '--force_fieldtrials=WebRTC-QuickPerfTest/Enabled/',
-      '--nologs',
-      '--gtest_output=json:${ISOLATED_OUTDIR}/gtest_output.json',
-    ],
-    'resultdb': {
-      'result_format': 'gtest_json',
-      'result_file': '${ISOLATED_OUTDIR}/gtest_output.json',
-    },
-  },
-  'linux': {
-    'swarming': {
-      'dimensions': {
-        'os': 'Ubuntu'
-      }
-    }
-  },
-  'resultdb-json-format': {
-    'resultdb': {
-      'result_format': 'json'
-    }
-  },
-  'win': {
-    'swarming': {
-      'dimensions': {
-        'os': 'Windows'
-      }
-    }
-  },
-}
diff --git a/infra/specs/test_suites.pyl b/infra/specs/test_suites.pyl
index aea352b..0b3a829 100644
--- a/infra/specs/test_suites.pyl
+++ b/infra/specs/test_suites.pyl
@@ -48,44 +48,46 @@
       'voip_unittests': {},
       'webrtc_nonparallel_tests': {},
     },
-    'video_capture_tests_linux': {
+    'video_capture_tests_baremetal': {
+      # Run video_capture_tests on the baremetal pool for the video camera.
       'video_capture_tests': {
-        'remove_mixins': ['linux-bionic'],
-        'mixins': ['linux', 'baremetal-pool'],
+        'swarming': {
+          'dimension_sets': [{
+            'pool': 'WebRTC-baremetal'
+          }],
+        },
       }
     },
-    'video_capture_tests_linux_tryserver': {
-      'video_capture_tests': {
-        'remove_mixins': ['linux-bionic'],
-        'mixins': ['linux', 'baremetal-try-pool'],
-      }
-    },
-    'video_capture_tests_win': {
-      'video_capture_tests': {
-        'remove_mixins': ['win7'],
-        'mixins': ['win', 'baremetal-pool'],
-      }
-    },
-    'webrtc_perf_tests_linux_tryserver': {
+    'webrtc_perf_tests_baremetal': {
+      # Run webrtc_perf_tests on the baremetal pool to test the WebRTC machines.
       'webrtc_perf_tests': {
-        'remove_mixins': ['linux-bionic', 'resultdb-json-format'],
-        'mixins': ['linux', 'baremetal-try-pool', 'quick-perf-tests'],
+        'args': [
+          '--force_fieldtrials=WebRTC-QuickPerfTest/Enabled/',
+          '--nologs',
+          '--gtest_output=json:${ISOLATED_OUTDIR}/gtest_output.json',
+        ],
+        'remove_mixins': ['result_adapter'],
+        'resultdb': {
+          'result_format': 'gtest_json',
+          'result_file': '${ISOLATED_OUTDIR}/gtest_output.json',
+        },
+        'swarming': {
+          'dimension_sets': [{
+            'pool': 'WebRTC-baremetal'
+          }],
+        },
       }
     },
   },
   'compound_suites': {
-    'desktop_tests_linux': [
+    'desktop_and_video_capture_tests': [
       'desktop_tests',
-      'video_capture_tests_linux',
+      'video_capture_tests_baremetal',
     ],
-    'desktop_tests_linux_tryserver': [
+    'desktop_and_video_capture_and_webrtc_perf_tests': [
       'desktop_tests',
-      'video_capture_tests_linux_tryserver',
-      'webrtc_perf_tests_linux_tryserver',
-    ],
-    'desktop_tests_win': [
-      'desktop_tests',
-      'video_capture_tests_win',
+      'video_capture_tests_baremetal',
+      'webrtc_perf_tests_baremetal',
     ],
   },
 }
diff --git a/infra/specs/trybot_analyze_config.json b/infra/specs/trybot_analyze_config.json
index 4489a7d..b0e2f8e 100644
--- a/infra/specs/trybot_analyze_config.json
+++ b/infra/specs/trybot_analyze_config.json
@@ -1,5 +1,5 @@
 {
-  "base": {
+  "webrtc": {
       "exclusions": [
           "DEPS",
           "infra/specs/.*"
diff --git a/infra/specs/tryserver.webrtc.json b/infra/specs/tryserver.webrtc.json
deleted file mode 100644
index 625a6a6..0000000
--- a/infra/specs/tryserver.webrtc.json
+++ /dev/null
@@ -1,441 +0,0 @@
-{
-  "AAAAA1 AUTOGENERATED FILE DO NOT EDIT": {},
-  "AAAAA2 See generate_buildbot_json.py to make changes": {},
-  "linux_rel": {
-    "isolated_scripts": [
-      {
-        "isolate_name": "audio_decoder_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "audio_decoder_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://modules/audio_coding:audio_decoder_unittests/"
-      },
-      {
-        "isolate_name": "common_audio_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "common_audio_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://common_audio:common_audio_unittests/"
-      },
-      {
-        "isolate_name": "common_video_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "common_video_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://common_video:common_video_unittests/"
-      },
-      {
-        "isolate_name": "dcsctp_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "dcsctp_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://net/dcsctp:dcsctp_unittests/"
-      },
-      {
-        "isolate_name": "low_bandwidth_audio_test",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "low_bandwidth_audio_test",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://audio:low_bandwidth_audio_test/"
-      },
-      {
-        "isolate_name": "modules_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "modules_tests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ],
-          "shards": 2
-        },
-        "test_id_prefix": "ninja://modules:modules_tests/"
-      },
-      {
-        "isolate_name": "modules_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "modules_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ],
-          "shards": 6
-        },
-        "test_id_prefix": "ninja://modules:modules_unittests/"
-      },
-      {
-        "isolate_name": "peerconnection_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "peerconnection_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ],
-          "shards": 4
-        },
-        "test_id_prefix": "ninja://pc:peerconnection_unittests/"
-      },
-      {
-        "isolate_name": "rtc_media_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "rtc_media_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://media:rtc_media_unittests/"
-      },
-      {
-        "isolate_name": "rtc_pc_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "rtc_pc_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://pc:rtc_pc_unittests/"
-      },
-      {
-        "isolate_name": "rtc_stats_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "rtc_stats_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://stats:rtc_stats_unittests/"
-      },
-      {
-        "isolate_name": "rtc_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "rtc_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ],
-          "shards": 6
-        },
-        "test_id_prefix": "ninja://:rtc_unittests/"
-      },
-      {
-        "isolate_name": "system_wrappers_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "system_wrappers_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://system_wrappers:system_wrappers_unittests/"
-      },
-      {
-        "isolate_name": "test_support_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "test_support_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://test:test_support_unittests/"
-      },
-      {
-        "isolate_name": "tools_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "tools_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://rtc_tools:tools_unittests/"
-      },
-      {
-        "isolate_name": "video_capture_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "video_capture_tests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu",
-              "pool": "WebRTC-baremetal-try"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://modules/video_capture:video_capture_tests/"
-      },
-      {
-        "isolate_name": "video_engine_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "video_engine_tests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ],
-          "shards": 4
-        },
-        "test_id_prefix": "ninja://:video_engine_tests/"
-      },
-      {
-        "isolate_name": "voip_unittests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "voip_unittests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://:voip_unittests/"
-      },
-      {
-        "isolate_name": "webrtc_nonparallel_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "webrtc_nonparallel_tests",
-        "resultdb": {
-          "result_format": "json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-18.04"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://:webrtc_nonparallel_tests/"
-      },
-      {
-        "args": [
-          "--force_fieldtrials=WebRTC-QuickPerfTest/Enabled/",
-          "--nologs",
-          "--gtest_output=json:${ISOLATED_OUTDIR}/gtest_output.json"
-        ],
-        "isolate_name": "webrtc_perf_tests",
-        "merge": {
-          "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
-        },
-        "name": "webrtc_perf_tests",
-        "resultdb": {
-          "result_file": "${ISOLATED_OUTDIR}/gtest_output.json",
-          "result_format": "gtest_json"
-        },
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu",
-              "pool": "WebRTC-baremetal-try"
-            }
-          ]
-        },
-        "test_id_prefix": "ninja://:webrtc_perf_tests/"
-      }
-    ]
-  }
-}
diff --git a/infra/specs/waterfalls.pyl b/infra/specs/waterfalls.pyl
index 9ba64b4..55c18e7 100644
--- a/infra/specs/waterfalls.pyl
+++ b/infra/specs/waterfalls.pyl
@@ -13,29 +13,9 @@
     'machines': {
       'Linux64 Release': {
         'os_type': 'linux',
-        'mixins': ['linux-bionic', 'x86-64', 'resultdb-json-format'],
+        'mixins': ['linux-bionic', 'x86-64', 'result_adapter'],
         'test_suites': {
-          'isolated_scripts': 'desktop_tests_linux',
-        },
-      },
-      'Win32 Release (Clang)': {
-        'os_type': 'win',
-        'mixins': ['win7', 'x86-64', 'resultdb-json-format'],
-        'test_suites': {
-          'isolated_scripts': 'desktop_tests_win',
-        },
-      },
-    },
-  },
-  {
-    'name': 'tryserver.webrtc',
-    'mixins': [],
-    'machines': {
-      'linux_rel': {
-        'os_type': 'linux',
-        'mixins': ['linux-bionic', 'x86-64', 'resultdb-json-format'],
-        'test_suites': {
-          'isolated_scripts': 'desktop_tests_linux_tryserver',
+          'isolated_scripts': 'desktop_and_video_capture_tests',
         },
       },
     },