Add some iOS bots to waterfalls.pyl.

Bug: webrtc:13899
Change-Id: I5d3907a5eb1db599878581fa1b0571e35dcc019c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258121
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36456}
diff --git a/infra/specs/client.webrtc.json b/infra/specs/client.webrtc.json
index 7305b43..f9116b8 100644
--- a/infra/specs/client.webrtc.json
+++ b/infra/specs/client.webrtc.json
@@ -2,14 +2,16 @@
   "AAAAA1 AUTOGENERATED FILE DO NOT EDIT": {},
   "AAAAA2 See generate_buildbot_json.py to make changes": {},
   "Android32 (M Nexus5X)": {
-    "isolated_scripts": [
+    "gtest_tests": [
       {
-        "isolate_name": "AppRTCMobile_test_apk",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "AppRTCMobile_test_apk",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -28,15 +30,18 @@
             }
           ]
         },
+        "test": "AppRTCMobile_test_apk",
         "test_id_prefix": "ninja://examples:AppRTCMobile_test_apk/"
       },
       {
-        "isolate_name": "android_instrumentation_test_apk",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "android_instrumentation_test_apk",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -55,15 +60,18 @@
             }
           ]
         },
+        "test": "android_instrumentation_test_apk",
         "test_id_prefix": "ninja://sdk/android:android_instrumentation_test_apk/"
       },
       {
-        "isolate_name": "audio_decoder_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "audio_decoder_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -82,15 +90,18 @@
             }
           ]
         },
+        "test": "audio_decoder_unittests",
         "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"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "common_audio_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -109,15 +120,18 @@
             }
           ]
         },
+        "test": "common_audio_unittests",
         "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"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "common_video_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -136,15 +150,18 @@
             }
           ]
         },
+        "test": "common_video_unittests",
         "test_id_prefix": "ninja://common_video:common_video_unittests/"
       },
       {
-        "isolate_name": "dcsctp_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "dcsctp_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -163,15 +180,18 @@
             }
           ]
         },
+        "test": "dcsctp_unittests",
         "test_id_prefix": "ninja://net/dcsctp:dcsctp_unittests/"
       },
       {
-        "isolate_name": "modules_tests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "modules_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -191,15 +211,18 @@
           ],
           "shards": 2
         },
+        "test": "modules_tests",
         "test_id_prefix": "ninja://modules:modules_tests/"
       },
       {
-        "isolate_name": "modules_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "modules_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -219,15 +242,18 @@
           ],
           "shards": 6
         },
+        "test": "modules_unittests",
         "test_id_prefix": "ninja://modules:modules_unittests/"
       },
       {
-        "isolate_name": "peerconnection_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "peerconnection_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -247,15 +273,18 @@
           ],
           "shards": 4
         },
+        "test": "peerconnection_unittests",
         "test_id_prefix": "ninja://pc:peerconnection_unittests/"
       },
       {
-        "isolate_name": "rtc_media_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "rtc_media_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -274,15 +303,18 @@
             }
           ]
         },
+        "test": "rtc_media_unittests",
         "test_id_prefix": "ninja://media:rtc_media_unittests/"
       },
       {
-        "isolate_name": "rtc_pc_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "rtc_pc_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -301,15 +333,18 @@
             }
           ]
         },
+        "test": "rtc_pc_unittests",
         "test_id_prefix": "ninja://pc:rtc_pc_unittests/"
       },
       {
-        "isolate_name": "rtc_stats_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "rtc_stats_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -328,15 +363,18 @@
             }
           ]
         },
+        "test": "rtc_stats_unittests",
         "test_id_prefix": "ninja://stats:rtc_stats_unittests/"
       },
       {
-        "isolate_name": "rtc_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "rtc_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -356,15 +394,18 @@
           ],
           "shards": 6
         },
+        "test": "rtc_unittests",
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
-        "isolate_name": "system_wrappers_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "system_wrappers_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -383,15 +424,18 @@
             }
           ]
         },
+        "test": "system_wrappers_unittests",
         "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"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "test_support_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -410,15 +454,18 @@
             }
           ]
         },
+        "test": "test_support_unittests",
         "test_id_prefix": "ninja://test:test_support_unittests/"
       },
       {
-        "isolate_name": "tools_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "tools_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -437,15 +484,18 @@
             }
           ]
         },
+        "test": "tools_unittests",
         "test_id_prefix": "ninja://rtc_tools:tools_unittests/"
       },
       {
-        "isolate_name": "video_engine_tests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "video_engine_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -465,15 +515,18 @@
           ],
           "shards": 4
         },
+        "test": "video_engine_tests",
         "test_id_prefix": "ninja://:video_engine_tests/"
       },
       {
-        "isolate_name": "voip_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "voip_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -492,15 +545,18 @@
             }
           ]
         },
+        "test": "voip_unittests",
         "test_id_prefix": "ninja://:voip_unittests/"
       },
       {
-        "isolate_name": "webrtc_nonparallel_tests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "webrtc_nonparallel_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -519,18 +575,27 @@
             }
           ]
         },
+        "test": "webrtc_nonparallel_tests",
         "test_id_prefix": "ninja://:webrtc_nonparallel_tests/"
       }
     ],
     "junit_tests": [
       {
         "name": "android_examples_junit_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {},
         "test": "android_examples_junit_tests",
         "test_id_prefix": "ninja://examples:android_examples_junit_tests/"
       },
       {
         "name": "android_sdk_junit_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {},
         "test": "android_sdk_junit_tests",
         "test_id_prefix": "ninja://sdk/android:android_sdk_junit_tests/"
@@ -1763,5 +1828,861 @@
         "test_id_prefix": "ninja://:webrtc_nonparallel_tests/"
       }
     ]
+  },
+  "iOS64 Sim Debug (iOS 14.0)": {
+    "isolated_scripts": [
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "audio_decoder_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "audio_decoder_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://modules/audio_coding:audio_decoder_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "common_audio_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "common_audio_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://common_audio:common_audio_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "common_video_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "common_video_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://common_video:common_video_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "dcsctp_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "dcsctp_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://net/dcsctp:dcsctp_unittests/"
+      },
+      {
+        "$mixin_append": {
+          "args": [
+            "--readline-timeout=360"
+          ]
+        },
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "modules_tests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "modules_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://modules:modules_tests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "modules_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "modules_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://modules:modules_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "rtc_media_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "rtc_media_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://media:rtc_media_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "rtc_pc_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "rtc_pc_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://pc:rtc_pc_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "rtc_stats_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "rtc_stats_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://stats:rtc_stats_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "rtc_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "rtc_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://:rtc_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209",
+          "--xcode-parallelization"
+        ],
+        "isolate_name": "sdk_framework_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "sdk_framework_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://sdk:sdk_framework_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "system_wrappers_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "system_wrappers_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://system_wrappers:system_wrappers_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "test_support_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "test_support_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://test:test_support_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "tools_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "tools_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://rtc_tools:tools_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "video_capture_tests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "video_capture_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://modules/video_capture:video_capture_tests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "video_engine_tests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "video_engine_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://:video_engine_tests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "voip_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "voip_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://:voip_unittests/"
+      },
+      {
+        "args": [
+          "--platform",
+          "iPhone X",
+          "--version",
+          "14.0",
+          "--xcode-build-version",
+          "12a7209"
+        ],
+        "isolate_name": "webrtc_nonparallel_tests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "webrtc_nonparallel_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "Mac-11"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_12a7209",
+              "path": "Xcode.app"
+            },
+            {
+              "name": "runtime_ios_14_0",
+              "path": "Runtime-ios-14.0"
+            }
+          ],
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://:webrtc_nonparallel_tests/"
+      }
+    ]
   }
 }
diff --git a/infra/specs/internal.client.webrtc.json b/infra/specs/internal.client.webrtc.json
new file mode 100644
index 0000000..933c604
--- /dev/null
+++ b/infra/specs/internal.client.webrtc.json
@@ -0,0 +1,470 @@
+{
+  "AAAAA1 AUTOGENERATED FILE DO NOT EDIT": {},
+  "AAAAA2 See generate_buildbot_json.py to make changes": {},
+  "iOS64 Release": {
+    "isolated_scripts": [
+      {
+        "args": [
+          "--xctest",
+          "--undefok=enable-run-ios-unittests-with-xctest",
+          "--xcode-build-version",
+          "13c100"
+        ],
+        "isolate_name": "common_audio_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "common_audio_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "iOS-15.3",
+              "pool": "chrome.tests"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_13c100",
+              "path": "Xcode.app"
+            }
+          ],
+          "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://common_audio:common_audio_unittests/"
+      },
+      {
+        "args": [
+          "--xctest",
+          "--undefok=enable-run-ios-unittests-with-xctest",
+          "--xcode-build-version",
+          "13c100"
+        ],
+        "isolate_name": "common_video_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "common_video_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "iOS-15.3",
+              "pool": "chrome.tests"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_13c100",
+              "path": "Xcode.app"
+            }
+          ],
+          "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://common_video:common_video_unittests/"
+      },
+      {
+        "args": [
+          "--xctest",
+          "--undefok=enable-run-ios-unittests-with-xctest",
+          "--xcode-build-version",
+          "13c100"
+        ],
+        "isolate_name": "modules_tests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "modules_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "iOS-15.3",
+              "pool": "chrome.tests"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_13c100",
+              "path": "Xcode.app"
+            }
+          ],
+          "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://modules:modules_tests/"
+      },
+      {
+        "args": [
+          "--xctest",
+          "--undefok=enable-run-ios-unittests-with-xctest",
+          "--xcode-build-version",
+          "13c100"
+        ],
+        "isolate_name": "modules_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "modules_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "iOS-15.3",
+              "pool": "chrome.tests"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_13c100",
+              "path": "Xcode.app"
+            }
+          ],
+          "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://modules:modules_unittests/"
+      },
+      {
+        "args": [
+          "--xctest",
+          "--undefok=enable-run-ios-unittests-with-xctest",
+          "--xcode-build-version",
+          "13c100"
+        ],
+        "isolate_name": "rtc_pc_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "rtc_pc_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "iOS-15.3",
+              "pool": "chrome.tests"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_13c100",
+              "path": "Xcode.app"
+            }
+          ],
+          "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://pc:rtc_pc_unittests/"
+      },
+      {
+        "args": [
+          "--xctest",
+          "--undefok=enable-run-ios-unittests-with-xctest",
+          "--xcode-build-version",
+          "13c100"
+        ],
+        "isolate_name": "rtc_stats_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "rtc_stats_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "iOS-15.3",
+              "pool": "chrome.tests"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_13c100",
+              "path": "Xcode.app"
+            }
+          ],
+          "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://stats:rtc_stats_unittests/"
+      },
+      {
+        "args": [
+          "--xctest",
+          "--undefok=enable-run-ios-unittests-with-xctest",
+          "--xcode-build-version",
+          "13c100"
+        ],
+        "isolate_name": "system_wrappers_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "system_wrappers_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "iOS-15.3",
+              "pool": "chrome.tests"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_13c100",
+              "path": "Xcode.app"
+            }
+          ],
+          "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://system_wrappers:system_wrappers_unittests/"
+      },
+      {
+        "args": [
+          "--xctest",
+          "--undefok=enable-run-ios-unittests-with-xctest",
+          "--xcode-build-version",
+          "13c100"
+        ],
+        "isolate_name": "test_support_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "test_support_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "iOS-15.3",
+              "pool": "chrome.tests"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_13c100",
+              "path": "Xcode.app"
+            }
+          ],
+          "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://test:test_support_unittests/"
+      },
+      {
+        "args": [
+          "--xctest",
+          "--undefok=enable-run-ios-unittests-with-xctest",
+          "--xcode-build-version",
+          "13c100"
+        ],
+        "isolate_name": "tools_unittests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "tools_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "iOS-15.3",
+              "pool": "chrome.tests"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_13c100",
+              "path": "Xcode.app"
+            }
+          ],
+          "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://rtc_tools:tools_unittests/"
+      },
+      {
+        "args": [
+          "--xctest",
+          "--undefok=enable-run-ios-unittests-with-xctest",
+          "--xcode-build-version",
+          "13c100"
+        ],
+        "isolate_name": "video_capture_tests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "video_capture_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "iOS-15.3",
+              "pool": "chrome.tests"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_13c100",
+              "path": "Xcode.app"
+            }
+          ],
+          "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://modules/video_capture:video_capture_tests/"
+      },
+      {
+        "args": [
+          "--xctest",
+          "--undefok=enable-run-ios-unittests-with-xctest",
+          "--xcode-build-version",
+          "13c100"
+        ],
+        "isolate_name": "video_engine_tests",
+        "merge": {
+          "args": [],
+          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+        },
+        "name": "video_engine_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "cipd_packages": [
+            {
+              "cipd_package": "infra/tools/mac_toolchain/${platform}",
+              "location": ".",
+              "revision": "git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1"
+            }
+          ],
+          "dimension_sets": [
+            {
+              "os": "iOS-15.3",
+              "pool": "chrome.tests"
+            }
+          ],
+          "named_caches": [
+            {
+              "name": "xcode_ios_13c100",
+              "path": "Xcode.app"
+            }
+          ],
+          "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test_id_prefix": "ninja://:video_engine_tests/"
+      }
+    ]
+  }
+}
diff --git a/infra/specs/mixins.pyl b/infra/specs/mixins.pyl
index 891fdaf..88fd547 100644
--- a/infra/specs/mixins.pyl
+++ b/infra/specs/mixins.pyl
@@ -40,6 +40,47 @@
       }
     }
   },
+  'chrome-tester-service-account': {
+    'swarming': {
+      'service_account':
+      'chrome-tester@chops-service-accounts.iam.gserviceaccount.com'
+    }
+  },
+  'chromium-tester-service-account': {
+    'swarming': {
+      'service_account':
+      'chromium-tester@chops-service-accounts.iam.gserviceaccount.com'
+    }
+  },
+  'has_native_resultdb_integration': {
+    'resultdb': {
+      'enable': True,
+      'has_native_resultdb_integration': True
+    }
+  },
+  'ios-device-15.3': {
+    'swarming': {
+      'dimensions': {
+        'os': 'iOS-15.3',
+        'pool': 'chrome.tests'
+      }
+    }
+  },
+  'ios-simulator-14': {
+    '$mixin_append': {
+      'args': ['--platform', 'iPhone X', '--version', '14.0']
+    }
+  },
+  'ios_runtime_cache_14_0': {
+    '$mixin_append': {
+      'swarming': {
+        'named_caches': [{
+          'name': 'runtime_ios_14_0',
+          'path': 'Runtime-ios-14.0'
+        }]
+      }
+    }
+  },
   'linux': {
     'swarming': {
       'dimensions': {
@@ -80,6 +121,18 @@
       }
     }
   },
+  'mac_toolchain': {
+    'swarming': {
+      'cipd_packages': [{
+        'cipd_package':
+        'infra/tools/mac_toolchain/${platform}',
+        'location':
+        '.',
+        'revision':
+        'git_revision:723fc1a6c8cdf2631a57851f5610e598db0c1de1'
+      }]
+    }
+  },
   'marshmallow': {
     'swarming': {
       'dimensions': {
@@ -107,6 +160,11 @@
       'result_format': 'json'
     }
   },
+  'webrtc-xctest': {
+    '$mixin_append': {
+      'args': ['--xctest', '--undefok=enable-run-ios-unittests-with-xctest']
+    }
+  },
   'win': {
     'swarming': {
       'dimensions': {
@@ -127,5 +185,32 @@
         'cpu': 'x86-64'
       }
     }
+  },
+  'xcode_12a7209': {
+    '$mixin_append': {
+      'args': ['--xcode-build-version', '12a7209'],
+      'swarming': {
+        'named_caches': [{
+          'name': 'xcode_ios_12a7209',
+          'path': 'Xcode.app'
+        }]
+      }
+    }
+  },
+  'xcode_13_main': {
+    '$mixin_append': {
+      'args': ['--xcode-build-version', '13c100']
+    },
+    'swarming': {
+      'named_caches': [{
+        'name': 'xcode_ios_13c100',
+        'path': 'Xcode.app'
+      }]
+    }
+  },
+  'xcode_parallelization': {
+    '$mixin_append': {
+      'args': ['--xcode-parallelization']
+    }
   }
 }
diff --git a/infra/specs/mixins_webrtc.pyl b/infra/specs/mixins_webrtc.pyl
index cf13caf..753539d 100644
--- a/infra/specs/mixins_webrtc.pyl
+++ b/infra/specs/mixins_webrtc.pyl
@@ -28,6 +28,36 @@
       },
     },
   },
+  'ios-device-15.3': {
+    'swarming': {
+      'dimensions': {
+        'os': 'iOS-15.3',
+        'pool': 'chrome.tests',
+      },
+    },
+  },
+  'ios_runtime_cache_14_0': {
+    '$mixin_append': {
+      'swarming': {
+        'named_caches': [
+          {
+            'name': 'runtime_ios_14_0',
+            'path': 'Runtime-ios-14.0',
+          },
+        ],
+      },
+    },
+  },
+  'ios-simulator-14': {
+    '$mixin_append': {
+      'args': [
+        '--platform',
+        'iPhone X',
+        '--version',
+        '14.0',
+      ],
+    }
+  },
   'quick-perf-tests': {
     '$mixin_append': {
       'args': [
@@ -84,6 +114,14 @@
       'result_format': 'json'
     }
   },
+  'webrtc-xctest': {
+    '$mixin_append': {
+      'args': [
+        '--xctest',
+        '--undefok=enable-run-ios-unittests-with-xctest',
+      ],
+    },
+  },
   'win': {
     'swarming': {
       'dimensions': {
@@ -91,4 +129,17 @@
       }
     }
   },
+  'xcode_12a7209': {
+    '$mixin_append': {
+      'args': ['--xcode-build-version', '12a7209'],
+      'swarming': {
+        'named_caches': [
+          {
+            'name': 'xcode_ios_12a7209',
+            'path': 'Xcode.app',
+          },
+        ],
+      },
+    },
+  },
 }
diff --git a/infra/specs/test_suites.pyl b/infra/specs/test_suites.pyl
index 90770e0..ba07a78 100644
--- a/infra/specs/test_suites.pyl
+++ b/infra/specs/test_suites.pyl
@@ -98,6 +98,58 @@
       'voip_unittests': {},
       'webrtc_nonparallel_tests': {},
     },
+    'ios_device_tests': {
+      # TODO(bugs.webrtc.org/11362): Real XCTests fail to start on devices.
+      #'apprtcmobile_tests': {'mixins': ['xcodebuild-device-runner']},
+      'common_audio_unittests': {},
+      'common_video_unittests': {},
+      'modules_tests': {},
+      'modules_unittests': {},
+      'rtc_pc_unittests': {},
+      'rtc_stats_unittests': {},
+      # TODO(bugs.webrtc.org/11362): Real XCTests fail to start on devices.
+      #'sdk_framework_unittests': {'mixins': ['xcodebuild-device-runner']},
+      #'sdk_unittests': {'mixins': ['xcodebuild-device-runner']},
+      'system_wrappers_unittests': {},
+      'test_support_unittests': {},
+      'tools_unittests': {},
+      'video_capture_tests': {},
+      'video_engine_tests': {},
+    },
+    'ios_simulator_tests': {
+      # TODO(bugs.webrtc.org/12244): Some tests are skipped on iOS simulator
+      # platforms because they fail or they are flaky.
+      #'apprtcmobile_tests': {'mixins': ['xcode_parallelization']},
+      'audio_decoder_unittests': {},
+      'common_audio_unittests': {},
+      'common_video_unittests': {},
+      'dcsctp_unittests': {},
+      'modules_tests': {
+        '$mixin_append': {
+          'args': [
+            '--readline-timeout=360',
+          ],
+        },
+      },
+      'modules_unittests': {},
+      'rtc_media_unittests': {},
+      'rtc_pc_unittests': {},
+      'rtc_stats_unittests': {},
+      'rtc_unittests': {},
+      'sdk_framework_unittests': {
+        'mixins': ['xcode_parallelization']
+      },
+      # TODO(bugs.webrtc.org/12244): Some tests are skipped on iOS simulator
+      # platforms because they fail or they are flaky.
+      #'sdk_unittests': {'mixins': ['xcode_parallelization']},
+      'system_wrappers_unittests': {},
+      'test_support_unittests': {},
+      'tools_unittests': {},
+      'video_capture_tests': {},
+      'video_engine_tests': {},
+      'voip_unittests': {},
+      'webrtc_nonparallel_tests': {},
+    },
     'linux_video_capture_tests': {
       'video_capture_tests': {
         'remove_mixins': ['linux-bionic'],
diff --git a/infra/specs/tryserver.webrtc.json b/infra/specs/tryserver.webrtc.json
index 943d88e..190ce8e 100644
--- a/infra/specs/tryserver.webrtc.json
+++ b/infra/specs/tryserver.webrtc.json
@@ -2,14 +2,16 @@
   "AAAAA1 AUTOGENERATED FILE DO NOT EDIT": {},
   "AAAAA2 See generate_buildbot_json.py to make changes": {},
   "android_arm_rel": {
-    "isolated_scripts": [
+    "gtest_tests": [
       {
-        "isolate_name": "AppRTCMobile_test_apk",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "AppRTCMobile_test_apk",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -28,15 +30,18 @@
             }
           ]
         },
+        "test": "AppRTCMobile_test_apk",
         "test_id_prefix": "ninja://examples:AppRTCMobile_test_apk/"
       },
       {
-        "isolate_name": "android_instrumentation_test_apk",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "android_instrumentation_test_apk",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -55,15 +60,18 @@
             }
           ]
         },
+        "test": "android_instrumentation_test_apk",
         "test_id_prefix": "ninja://sdk/android:android_instrumentation_test_apk/"
       },
       {
-        "isolate_name": "audio_decoder_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "audio_decoder_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -82,15 +90,18 @@
             }
           ]
         },
+        "test": "audio_decoder_unittests",
         "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"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "common_audio_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -109,15 +120,18 @@
             }
           ]
         },
+        "test": "common_audio_unittests",
         "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"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "common_video_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -136,15 +150,18 @@
             }
           ]
         },
+        "test": "common_video_unittests",
         "test_id_prefix": "ninja://common_video:common_video_unittests/"
       },
       {
-        "isolate_name": "dcsctp_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "dcsctp_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -163,15 +180,18 @@
             }
           ]
         },
+        "test": "dcsctp_unittests",
         "test_id_prefix": "ninja://net/dcsctp:dcsctp_unittests/"
       },
       {
-        "isolate_name": "modules_tests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "modules_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -191,15 +211,18 @@
           ],
           "shards": 2
         },
+        "test": "modules_tests",
         "test_id_prefix": "ninja://modules:modules_tests/"
       },
       {
-        "isolate_name": "modules_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "modules_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -219,15 +242,18 @@
           ],
           "shards": 6
         },
+        "test": "modules_unittests",
         "test_id_prefix": "ninja://modules:modules_unittests/"
       },
       {
-        "isolate_name": "peerconnection_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "peerconnection_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -247,15 +273,18 @@
           ],
           "shards": 4
         },
+        "test": "peerconnection_unittests",
         "test_id_prefix": "ninja://pc:peerconnection_unittests/"
       },
       {
-        "isolate_name": "rtc_media_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "rtc_media_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -274,15 +303,18 @@
             }
           ]
         },
+        "test": "rtc_media_unittests",
         "test_id_prefix": "ninja://media:rtc_media_unittests/"
       },
       {
-        "isolate_name": "rtc_pc_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "rtc_pc_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -301,15 +333,18 @@
             }
           ]
         },
+        "test": "rtc_pc_unittests",
         "test_id_prefix": "ninja://pc:rtc_pc_unittests/"
       },
       {
-        "isolate_name": "rtc_stats_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "rtc_stats_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -328,15 +363,18 @@
             }
           ]
         },
+        "test": "rtc_stats_unittests",
         "test_id_prefix": "ninja://stats:rtc_stats_unittests/"
       },
       {
-        "isolate_name": "rtc_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "rtc_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -356,15 +394,18 @@
           ],
           "shards": 6
         },
+        "test": "rtc_unittests",
         "test_id_prefix": "ninja://:rtc_unittests/"
       },
       {
-        "isolate_name": "system_wrappers_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "system_wrappers_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -383,15 +424,18 @@
             }
           ]
         },
+        "test": "system_wrappers_unittests",
         "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"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "test_support_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -410,15 +454,18 @@
             }
           ]
         },
+        "test": "test_support_unittests",
         "test_id_prefix": "ninja://test:test_support_unittests/"
       },
       {
-        "isolate_name": "tools_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "tools_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -437,15 +484,18 @@
             }
           ]
         },
+        "test": "tools_unittests",
         "test_id_prefix": "ninja://rtc_tools:tools_unittests/"
       },
       {
-        "isolate_name": "video_engine_tests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "video_engine_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -465,15 +515,18 @@
           ],
           "shards": 4
         },
+        "test": "video_engine_tests",
         "test_id_prefix": "ninja://:video_engine_tests/"
       },
       {
-        "isolate_name": "voip_unittests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "voip_unittests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -492,15 +545,18 @@
             }
           ]
         },
+        "test": "voip_unittests",
         "test_id_prefix": "ninja://:voip_unittests/"
       },
       {
-        "isolate_name": "webrtc_nonparallel_tests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "webrtc_nonparallel_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -519,6 +575,7 @@
             }
           ]
         },
+        "test": "webrtc_nonparallel_tests",
         "test_id_prefix": "ninja://:webrtc_nonparallel_tests/"
       },
       {
@@ -526,12 +583,14 @@
           "--force_fieldtrials=WebRTC-QuickPerfTest/Enabled/",
           "--nologs"
         ],
-        "isolate_name": "webrtc_perf_tests",
         "merge": {
           "args": [],
-          "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+          "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
-        "name": "webrtc_perf_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {
           "can_use_on_swarming_builders": true,
           "cipd_packages": [
@@ -550,18 +609,27 @@
             }
           ]
         },
+        "test": "webrtc_perf_tests",
         "test_id_prefix": "ninja://:webrtc_perf_tests/"
       }
     ],
     "junit_tests": [
       {
         "name": "android_examples_junit_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {},
         "test": "android_examples_junit_tests",
         "test_id_prefix": "ninja://examples:android_examples_junit_tests/"
       },
       {
         "name": "android_sdk_junit_tests",
+        "resultdb": {
+          "enable": true,
+          "has_native_resultdb_integration": true
+        },
         "swarming": {},
         "test": "android_sdk_junit_tests",
         "test_id_prefix": "ninja://sdk/android:android_sdk_junit_tests/"
diff --git a/infra/specs/waterfalls.pyl b/infra/specs/waterfalls.pyl
index dece6db..09a8199 100644
--- a/infra/specs/waterfalls.pyl
+++ b/infra/specs/waterfalls.pyl
@@ -12,10 +12,12 @@
     'mixins': [],
     'machines': {
       'Android32 (M Nexus5X)': {
-        'mixins':
-        ['bullhead', 'marshmallow', 'android-devices', 'logdog-butler'],
+        'mixins': [
+          'bullhead', 'marshmallow', 'android-devices', 'logdog-butler',
+          'has_native_resultdb_integration'
+        ],
         'test_suites': {
-          'isolated_scripts': 'android_tests',
+          'gtest_tests': 'android_tests',
           'junit_tests': 'android_junit_tests',
         },
       },
@@ -40,6 +42,31 @@
           'isolated_scripts': 'win_tests',
         },
       },
+      'iOS64 Sim Debug (iOS 14.0)': {
+        'mixins': [
+          'mac11', 'chromium-tester-service-account', 'ios-simulator-14',
+          'xcode_12a7209', 'ios_runtime_cache_14_0', 'mac_toolchain',
+          'has_native_resultdb_integration'
+        ],
+        'test_suites': {
+          'isolated_scripts': 'ios_simulator_tests',
+        },
+      },
+    },
+  },
+  {
+    'name': 'internal.client.webrtc',
+    'mixins': [],
+    'machines': {
+      'iOS64 Release': {
+        'mixins': [
+          'ios-device-15.3', 'webrtc-xctest', 'chrome-tester-service-account',
+          'xcode_13_main', 'mac_toolchain', 'has_native_resultdb_integration'
+        ],
+        'test_suites': {
+          'isolated_scripts': 'ios_device_tests',
+        },
+      },
     },
   },
   {
@@ -47,10 +74,12 @@
     'mixins': [],
     'machines': {
       'android_arm_rel': {
-        'mixins':
-        ['bullhead', 'marshmallow', 'android-devices', 'logdog-butler'],
+        'mixins': [
+          'bullhead', 'marshmallow', 'android-devices', 'logdog-butler',
+          'has_native_resultdb_integration'
+        ],
         'test_suites': {
-          'isolated_scripts': 'android_tests_tryserver',
+          'gtest_tests': 'android_tests_tryserver',
           'junit_tests': 'android_junit_tests',
         },
       },