# Copyright 2020 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This is a .pyl, or "Python Literal", file. You can treat it just like a
# .json file, with the following exceptions:
# * all keys must be quoted (use single quotes, please);
# * comments are allowed, using '#' syntax; and
# * trailing commas are allowed.

{
  'IPHONE_7_15_4_1': {
    'swarming': {
      'dimension_sets': [
        {
          'os': 'iOS-15.4.1',
          'device': 'iPhone9,1'
        }
      ]
    },
    'identifier': 'iPhone 7 15.4.1'
  },
  'LACROS_VERSION_SKEW_CANARY': {
    'args': [
      '--ash-chrome-path-override=../../lacros_version_skew_tests_v105.0.5139.0/test_ash_chrome',
    ],
    'identifier': 'Lacros version skew testing ash 105.0.5139.0',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip',
          'location': 'lacros_version_skew_tests_v105.0.5139.0',
          'revision': 'version:105.0.5139.0',
        },
      ],
    },
  },
  'LACROS_VERSION_SKEW_DEV': {
    'args': [
      '--ash-chrome-path-override=../../lacros_version_skew_tests_v104.0.5112.9/test_ash_chrome',
    ],
    'identifier': 'Lacros version skew testing ash 104.0.5112.9',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip',
          'location': 'lacros_version_skew_tests_v104.0.5112.9',
          'revision': 'version:104.0.5112.9',
        },
      ],
    },
  },
  'LACROS_VERSION_SKEW_BETA': {
    'args': [
      '--ash-chrome-path-override=../../lacros_version_skew_tests_v103.0.5060.53/test_ash_chrome',
    ],
    'identifier': 'Lacros version skew testing ash 103.0.5060.53',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip',
          'location': 'lacros_version_skew_tests_v103.0.5060.53',
          'revision': 'version:103.0.5060.53',
        },
      ],
    },
  },
  'LACROS_VERSION_SKEW_STABLE': {
    'args': [
      '--ash-chrome-path-override=../../lacros_version_skew_tests_v102.0.5005.125/test_ash_chrome',
    ],
    'identifier': 'Lacros version skew testing ash 102.0.5005.125',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip',
          'location': 'lacros_version_skew_tests_v102.0.5005.125',
          'revision': 'version:102.0.5005.125',
        },
      ],
    },
  },
  'LINUX_INTEL_HD_630_STABLE': {
    'identifier': 'HD 630',
    'mixins': [
      'linux_intel_hd_630_stable',
    ],
  },
  'LINUX_NVIDIA_GTX_1660_STABLE': {
    'identifier': 'GTX 1660',
    'mixins': [
      'linux_nvidia_gtx_1660_stable',
    ],
  },
  'MAC_MINI_INTEL_GPU_STABLE': {
    'identifier': '8086:3e9b',
    'mixins': [
      'mac_mini_intel_gpu_stable',
    ],
  },
  'MAC_RETINA_AMD_GPU_STABLE': {
    'identifier': '1002:6821',
    'mixins': [
      'mac_retina_amd_gpu_stable',
    ],
  },
  'MAC_RETINA_NVIDIA_GPU_STABLE': {
    'identifier': '10de:0fe9',
    'mixins': [
      'mac_retina_nvidia_gpu_stable',
    ],
  },
  'SIM_IPAD_AIR_2_14_5': {
    'args': [
      '--platform',
      'iPad Air 2',
      '--version',
      '14.5'
    ],
    'identifier': 'iPad Air 2 14.5',
    'mixins': [
      'ios_runtime_cache_14_5',
    ],
  },
  'SIM_IPAD_AIR_2_14_4': {
    'args': [
      '--platform',
      'iPad Air 2',
      '--version',
      '14.4'
    ],
    'identifier': 'iPad Air 2 14.4',
    'mixins': [
      'ios_runtime_cache_14_4',
    ],
  },
  'SIM_IPAD_AIR_2_15_0': {
    'args': [
      '--platform',
      'iPad Air 2',
      '--version',
      '15.0'
    ],
    'identifier': 'iPad Air 2 15.0',
    'mixins': [
      'ios_runtime_cache_15_0',
    ],
  },
  'SIM_IPAD_AIR_2_15_2': {
    'args': [
      '--platform',
      'iPad Air 2',
      '--version',
      '15.2'
    ],
    'identifier': 'iPad Air 2 15.2',
    'mixins': [
      'ios_runtime_cache_15_2',
    ],
  },
  'SIM_IPAD_AIR_2_15_5': {
    'args': [
      '--platform',
      'iPad Air 2',
      '--version',
      '15.5'
    ],
    'identifier': 'iPad Air 2 15.5',
    'mixins': [
      'ios_runtime_cache_15_5',
    ],
  },
  'SIM_IPAD_AIR_3RD_GEN_14_5': {
    'args': [
      '--platform',
      'iPad Air (3rd generation)',
      '--version',
      '14.5'
    ],
    'identifier': 'iPad Air (3rd generation) 14.5',
    'mixins': [
      'ios_runtime_cache_14_5',
    ],
  },
  'SIM_IPAD_AIR_3RD_GEN_16_0': {
    'args': [
      '--platform',
      'iPad Air (3rd generation)',
      '--version',
      '16.0'
    ],
    'identifier': 'iPad Air (3rd generation) 16.0',
    'mixins': [
      'ios_runtime_cache_16_0',
    ],
  },
  # In Xcode 12, "iPad Pro (12.9-inch)" requires a generation suffix in
  # "platform" arg.
  'SIM_IPAD_PRO_2ND_GEN_14_5': {
    'args': [
      '--platform',
      'iPad Pro (12.9-inch) (2nd generation)',
      '--version',
      '14.5',
    ],
    'identifier': 'iPad Pro (12.9-inch) (2nd generation) 14.5',
    'mixins': [
      'ios_runtime_cache_14_5',
    ],
  },
  'SIM_IPAD_6_GEN_16_0': {
    'args': [
      '--platform',
      'iPad (6th generation)',
      '--version',
      '16.0',
    ],
    'identifier': 'iPad (6th generation) 16.0',
    'mixins': [
      'ios_runtime_cache_16_0',
    ],
  },
  'SIM_IPHONE_6S_14_4': {
    'args': [
      '--platform',
      'iPhone 6s',
      '--version',
      '14.4',
    ],
    'identifier': 'iPhone 6s 14.4',
    'mixins': [
      'ios_runtime_cache_14_4',
    ],
  },
  'SIM_IPHONE_6S_14_5': {
    'args': [
      '--platform',
      'iPhone 6s',
      '--version',
      '14.5',
    ],
    'identifier': 'iPhone 6s 14.5',
    'mixins': [
      'ios_runtime_cache_14_5',
    ],
  },
  'SIM_IPHONE_6S_15_2': {
    'args': [
      '--platform',
      'iPhone 6s',
      '--version',
      '15.2'
    ],
    'identifier': 'iPhone 6s 15.2',
    'mixins': [
      'ios_runtime_cache_15_2',
    ],
  },
  'SIM_IPHONE_6S_15_5': {
    'args': [
      '--platform',
      'iPhone 6s',
      '--version',
      '15.5',
    ],
    'identifier': 'iPhone 6s 15.5',
    'mixins': [
      'ios_runtime_cache_15_5',
    ],
  },
  'SIM_IPHONE_6S_PLUS_14_5': {
    'args': [
      '--platform',
      'iPhone 6s Plus',
      '--version',
      '14.5',
    ],
    'identifier': 'iPhone 6s Plus 14.5',
    'mixins': [
      'ios_runtime_cache_14_5',
    ],
  },
  'SIM_IPHONE_6S_PLUS_15_2': {
    'args': [
      '--platform',
      'iPhone 6s Plus',
      '--version',
      '15.2',
    ],
    'identifier': 'iPhone 6s Plus 15.2',
    'mixins': [
      'ios_runtime_cache_15_2',
    ],
  },
  'SIM_IPHONE_6S_PLUS_15_5': {
    'args': [
      '--platform',
      'iPhone 6s Plus',
      '--version',
      '15.5',
    ],
    'identifier': 'iPhone 6s Plus 15.5',
    'mixins': [
      'ios_runtime_cache_15_5',
    ],
  },
  'SIM_IPHONE_7_14_4': {
    'args': [
      '--platform',
      'iPhone 7',
      '--version',
      '14.4',
    ],
    'identifier': 'iPhone 7 14.4',
    'mixins': [
      'ios_runtime_cache_14_4',
    ],
  },
  'SIM_IPHONE_7_14_5': {
    'args': [
      '--platform',
      'iPhone 7',
      '--version',
      '14.5',
    ],
    'identifier': 'iPhone 7 14.5',
    'mixins': [
      'ios_runtime_cache_14_5',
    ],
  },
  'SIM_IPHONE_7_15_2': {
    'args': [
      '--platform',
      'iPhone 7',
      '--version',
      '15.2'
    ],
    'identifier': 'iPhone 7 15.2',
    'mixins': [
      'ios_runtime_cache_15_2',
    ],
  },
  'SIM_IPHONE_7_15_5': {
    'args': [
      '--platform',
      'iPhone 7',
      '--version',
      '15.5',
    ],
    'identifier': 'iPhone 7 15.5',
    'mixins': [
      'ios_runtime_cache_15_5',
    ],
  },
  'SIM_IPHONE_8_16_0': {
    'args': [
      '--platform',
      'iPhone 8',
      '--version',
      '16.0',
    ],
    'identifier': 'iPhone 8 16.0',
    'mixins': [
      'ios_runtime_cache_16_0',
    ],
  },
  'SIM_IPHONE_8_PLUS_16_0': {
    'args': [
      '--platform',
      'iPhone 8 Plus',
      '--version',
      '16.0',
    ],
    'identifier': 'iPhone 8 Plus 16.0',
    'mixins': [
      'ios_runtime_cache_16_0',
    ],
  },
  'SIM_IPHONE_SE_1ST_GEN_14_5': {
    'args': [
      '--platform',
      'iPhone SE (1st generation)',
      '--version',
      '14.5',
    ],
    'identifier': 'iPhone SE (1st generation) 14.5',
    'mixins': [
      'ios_runtime_cache_14_5',
    ],
  },
  'SIM_IPHONE_SE_1ST_GEN_15_2': {
    'args': [
      '--platform',
      'iPhone SE (1st generation)',
      '--version',
      '15.2',
    ],
    'identifier': 'iPhone SE (1st generation) 15.2',
    'mixins': [
      'ios_runtime_cache_15_2',
    ],
  },
  'SIM_IPHONE_SE_1ST_GEN_15_5': {
    'args': [
      '--platform',
      'iPhone SE (1st generation)',
      '--version',
      '15.5',
    ],
    'identifier': 'iPhone SE (1st generation) 15.5',
    'mixins': [
      'ios_runtime_cache_15_5',
    ],
  },
  'SIM_IPHONE_SE_3RD_GEN_16_0': {
    'args': [
      '--platform',
      'iPhone SE (3rd generation)',
      '--version',
      '16.0',
    ],
    'identifier': 'iPhone SE (3rd generation) 16.0',
    'mixins': [
      'ios_runtime_cache_16_0',
    ],
  },
  'SIM_IPHONE_X_14_4': {
    'args': [
      '--platform',
      'iPhone X',
      '--version',
      '14.4',
    ],
    'identifier': 'iPhone X 14.4',
    'mixins': [
      'ios_runtime_cache_14_4',
    ],
  },
  'SIM_IPHONE_X_14_5': {
    'args': [
      '--platform',
      'iPhone X',
      '--version',
      '14.5',
    ],
    'identifier': 'iPhone X 14.5',
    'mixins': [
      'ios_runtime_cache_14_5',
    ],
  },
  'SIM_IPHONE_X_15_0': {
    'args': [
      '--platform',
      'iPhone X',
      '--version',
      '15.0'
    ],
    'identifier': 'iPhone X 15.0',
    'mixins': [
      'ios_runtime_cache_15_0',
    ],
  },
  'SIM_IPHONE_X_15_2': {
    'args': [
      '--platform',
      'iPhone X',
      '--version',
      '15.2'
    ],
    'identifier': 'iPhone X 15.2',
    'mixins': [
      'ios_runtime_cache_15_2',
    ],
  },
  'SIM_IPHONE_X_15_5': {
    'args': [
      '--platform',
      'iPhone X',
      '--version',
      '15.5',
    ],
    'identifier': 'iPhone X 15.5',
    'mixins': [
      'ios_runtime_cache_15_5',
    ],
  },
  'SIM_IPHONE_X_16_0': {
    'args': [
      '--platform',
      'iPhone X',
      '--version',
      '16.0',
    ],
    'identifier': 'iPhone X 16.0',
    'mixins': [
      'ios_runtime_cache_16_0',
    ],
  },
  'WEBVIEW_TRICHROME_FULL_CTS_TESTS': {
    'identifier': 'full_mode',
    'swarming': {
      'shards': 2,
      'cipd_packages': [
        {
          'cipd_package': 'chromium/android_webview/tools/cts_archive',
          'location': 'android_webview/tools/cts_archive',
          'revision': 'qF6dhyFMW7qFOzHo_Lu-bWxpbe-zRfL1KvHPQtQA3d0C',
        }
      ]
    },
  },
  'WEBVIEW_TRICHROME_INSTANT_CTS_TESTS': {
    'identifier': 'instant_mode',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/android_webview/tools/cts_archive',
          'location': 'android_webview/tools/cts_archive',
          'revision': 'qF6dhyFMW7qFOzHo_Lu-bWxpbe-zRfL1KvHPQtQA3d0C',
        }
      ]
    },
    'args': [
      '--exclude-annotation',
      'AppModeFull',
      '--test-apk-as-instant',
    ],
    'test': 'webview_trichrome_cts_tests',
  },
  'WEBLAYER_10_AND_M_IMPL_SKEW_TESTS_NTH_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--client-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/AOSP_SystemWebView.apk',
      '--implementation-outdir',
      '../../weblayer_instrumentation_test_M104/out/Release',
      '--impl-version=104'
    ],
    'identifier': 'with_impl_from_104',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M104',
          'revision': 'version:104.0.5112.24'
        }
      ]
    }
  },
  'WEBLAYER_10_AND_M_IMPL_SKEW_TESTS_NTH_MINUS_ONE_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--client-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/AOSP_SystemWebView.apk',
      '--implementation-outdir',
      '../../weblayer_instrumentation_test_M103/out/Release',
      '--impl-version=103'
    ],
    'identifier': 'with_impl_from_103',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M103',
          'revision': 'version:103.0.5060.64'
        }
      ]
    }
  },
  'WEBLAYER_10_AND_M_IMPL_SKEW_TESTS_NTH_MINUS_TWO_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--client-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/AOSP_SystemWebView.apk',
      '--implementation-outdir',
      '../../weblayer_instrumentation_test_M102/out/Release',
      '--impl-version=102'
    ],
    'identifier': 'with_impl_from_102',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M102',
          'revision': 'version:102.0.5005.125'
        }
      ]
    }
  },
  'WEBLAYER_10_AND_M_IMPL_SKEW_TESTS_NTH_MINUS_THREE_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--client-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/AOSP_SystemWebView.apk',
      '--implementation-outdir',
      '../../weblayer_instrumentation_test_M101/out/Release',
      '--impl-version=101'
    ],
    'identifier': 'with_impl_from_101',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M101',
          'revision': 'version:101.0.4951.74'
        }
      ]
    }
  },
  'WEBLAYER_10_AND_M_IMPL_SKEW_TESTS_NTH_MINUS_FOUR_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--client-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/AOSP_SystemWebView.apk',
      '--implementation-outdir',
      '../../weblayer_instrumentation_test_M100/out/Release',
      '--impl-version=100'
    ],
    'identifier': 'with_impl_from_100',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M100',
          'revision': 'version:100.0.4896.134'
        }
      ]
    }
  },
  'WEBLAYER_10_AND_M_IMPL_SKEW_TESTS_NTH_MINUS_FIVE_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--client-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/AOSP_SystemWebView.apk',
      '--implementation-outdir',
      '../../weblayer_instrumentation_test_M99/out/Release',
      '--impl-version=99'
    ],
    'identifier': 'with_impl_from_99',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M99',
          'revision': 'version:99.0.4844.88'
        }
      ]
    }
  },
  'WEBLAYER_IMPL_SKEW_TESTS_NTH_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--client-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/SystemWebView.apk',
      '--implementation-outdir',
      '../../weblayer_instrumentation_test_M104/out/Release',
      '--impl-version=104'
    ],
    'identifier': 'with_impl_from_104',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M104',
          'revision': 'version:104.0.5112.24'
        }
      ]
    }
  },
  'WEBLAYER_IMPL_SKEW_TESTS_NTH_MINUS_ONE_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--client-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/SystemWebView.apk',
      '--implementation-outdir',
      '../../weblayer_instrumentation_test_M103/out/Release',
      '--impl-version=103'
    ],
    'identifier': 'with_impl_from_103',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M103',
          'revision': 'version:103.0.5060.64'
        }
      ]
    }
  },
  'WEBLAYER_IMPL_SKEW_TESTS_NTH_MINUS_TWO_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--client-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/SystemWebView.apk',
      '--implementation-outdir',
      '../../weblayer_instrumentation_test_M102/out/Release',
      '--impl-version=102'
    ],
    'identifier': 'with_impl_from_102',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M102',
          'revision': 'version:102.0.5005.125'
        }
      ]
    }
  },
  'WEBLAYER_IMPL_SKEW_TESTS_NTH_MINUS_THREE_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--client-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/SystemWebView.apk',
      '--implementation-outdir',
      '../../weblayer_instrumentation_test_M101/out/Release',
      '--impl-version=101'
    ],
    'identifier': 'with_impl_from_101',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M101',
          'revision': 'version:101.0.4951.74'
        }
      ]
    }
  },
  'WEBLAYER_IMPL_SKEW_TESTS_NTH_MINUS_FOUR_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--client-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/SystemWebView.apk',
      '--implementation-outdir',
      '../../weblayer_instrumentation_test_M100/out/Release',
      '--impl-version=100'
    ],
    'identifier': 'with_impl_from_100',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M100',
          'revision': 'version:100.0.4896.134'
        }
      ]
    }
  },
  'WEBLAYER_IMPL_SKEW_TESTS_NTH_MINUS_FIVE_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--client-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/SystemWebView.apk',
      '--implementation-outdir',
      '../../weblayer_instrumentation_test_M99/out/Release',
      '--impl-version=99'
    ],
    'identifier': 'with_impl_from_99',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M99',
          'revision': 'version:99.0.4844.88'
        }
      ]
    }
  },
  'WEBLAYER_CLIENT_SKEW_TESTS_NTH_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--implementation-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/SystemWebView.apk',
      '--client-outdir',
      '../../weblayer_instrumentation_test_M104/out/Release',
      '--client-version=104'
    ],
    'identifier': 'with_client_from_104',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M104',
          'revision': 'version:104.0.5112.24'
        }
      ]
    }
  },
  'WEBLAYER_CLIENT_SKEW_TESTS_NTH_MINUS_ONE_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--implementation-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/SystemWebView.apk',
      '--client-outdir',
      '../../weblayer_instrumentation_test_M103/out/Release',
      '--client-version=103'
    ],
    'identifier': 'with_client_from_103',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M103',
          'revision': 'version:103.0.5060.64'
        }
      ]
    }
  },
  'WEBLAYER_CLIENT_SKEW_TESTS_NTH_MINUS_TWO_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--implementation-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/SystemWebView.apk',
      '--client-outdir',
      '../../weblayer_instrumentation_test_M102/out/Release',
      '--client-version=102'
    ],
    'identifier': 'with_client_from_102',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M102',
          'revision': 'version:102.0.5005.125'
        }
      ]
    }
  },
  'WEBLAYER_CLIENT_SKEW_TESTS_NTH_MINUS_THREE_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--implementation-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/SystemWebView.apk',
      '--client-outdir',
      '../../weblayer_instrumentation_test_M101/out/Release',
      '--client-version=101'
    ],
    'identifier': 'with_client_from_101',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M101',
          'revision': 'version:101.0.4951.74'
        }
      ]
    }
  },
  'WEBLAYER_CLIENT_SKEW_TESTS_NTH_MINUS_FOUR_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--implementation-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/SystemWebView.apk',
      '--client-outdir',
      '../../weblayer_instrumentation_test_M100/out/Release',
      '--client-version=100'
    ],
    'identifier': 'with_client_from_100',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M100',
          'revision': 'version:100.0.4896.134'
        }
      ]
    }
  },
  'WEBLAYER_CLIENT_SKEW_TESTS_NTH_MINUS_FIVE_MILESTONE': {
    'args': [
      '--test-runner-outdir',
      '.',
      '--implementation-outdir',
      '.',
      '--test-expectations',
      '../../weblayer/browser/android/javatests/skew/expectations.txt',
      '--webview-apk-path=apks/SystemWebView.apk',
      '--client-outdir',
      '../../weblayer_instrumentation_test_M99/out/Release',
      '--client-version=99'
    ],
    'identifier': 'with_client_from_99',
    'swarming': {
      'cipd_packages': [
        {
          'cipd_package': 'chromium/testing/weblayer-x86',
          'location': 'weblayer_instrumentation_test_M99',
          'revision': 'version:99.0.4844.88'
        }
      ]
    }
  },
  'CROS_ATLAS_RELEASE_LKGM': {
    'skylab': {
      'cros_board': 'atlas',
      'cros_chrome_version': '105.0.5134.0',
      'cros_img': 'atlas-release/R105-14933.0.0',
    },
    'enabled': True,
    'identifier': 'ATLAS_RELEASE_LKGM',
  },
  'CROS_ATLAS_RELEASE_DEV': {
    'skylab': {
      'cros_board': 'atlas',
      'cros_chrome_version': '104.0.5112.6',
      'cros_img': 'atlas-release/R104-14909.7.0',
    },
    'enabled': True,
    'identifier': 'ATLAS_RELEASE_DEV',
  },
  'CROS_ATLAS_RELEASE_BETA': {
    'skylab': {
      'cros_board': 'atlas',
      'cros_chrome_version': '103.0.5060.53',
      'cros_img': 'atlas-release/R103-14816.64.0',
    },
    'enabled': True,
    'identifier': 'ATLAS_RELEASE_BETA',
  },
  'CROS_ATLAS_RELEASE_STABLE': {
    'skylab': {
      'cros_board': 'atlas',
      'cros_chrome_version': '102.0.5005.125',
      'cros_img': 'atlas-release/R102-14695.107.0',
    },
    'enabled': True,
    'identifier': 'ATLAS_RELEASE_STABLE',
  },
  'CROS_EVE_RELEASE_LKGM': {
    'skylab': {
      'cros_board': 'eve',
      'cros_chrome_version': '105.0.5134.0',
      'cros_img': 'eve-release/R105-14933.0.0',
    },
    'enabled': True,
    'identifier': 'EVE_RELEASE_LKGM',
  },
  'CROS_EVE_RELEASE_DEV': {
    'skylab': {
      'cros_board': 'eve',
      'cros_chrome_version': '104.0.5112.9',
      'cros_img': 'eve-release/R104-14909.11.0',
    },
    'enabled': True,
    'identifier': 'EVE_RELEASE_DEV',
  },
  'CROS_EVE_RELEASE_BETA': {
    'skylab': {
      'cros_board': 'eve',
      'cros_chrome_version': '103.0.5060.53',
      'cros_img': 'eve-release/R103-14816.64.0',
    },
    'enabled': True,
    'identifier': 'EVE_RELEASE_BETA',
  },
  'CROS_EVE_RELEASE_STABLE': {
    'skylab': {
      'cros_board': 'eve',
      'cros_chrome_version': '102.0.5005.125',
      'cros_img': 'eve-release/R102-14695.107.0',
    },
    'enabled': True,
    'identifier': 'EVE_RELEASE_STABLE',
  },
  'CROS_EVE_FULL': {
    'skylab': {
      'cros_board': 'eve',
      'cros_chrome_version': '100.0.4863.0',
      'cros_img': 'eve-full/R100-14495.0.0-rc1',
    },
    'enabled': True,
    'identifier': 'EVE_FULL',
  },
  'CROS_HANA_RELEASE_LKGM': {
    'skylab': {
      'cros_board': 'hana',
      'cros_chrome_version': '105.0.5134.0',
      'cros_img': 'hana-release/R105-14933.0.0',
    },
    'enabled': True,
    'identifier': 'HANA_RELEASE_LKGM',
  },
  'CROS_HANA_RELEASE_DEV': {
    'skylab': {
      'cros_board': 'hana',
      'cros_chrome_version': '104.0.5112.9',
      'cros_img': 'hana-release/R104-14909.11.0',
    },
    'enabled': True,
    'identifier': 'HANA_RELEASE_DEV',
  },
  'CROS_HANA_RELEASE_BETA': {
    'skylab': {
      'cros_board': 'hana',
      'cros_chrome_version': '103.0.5060.53',
      'cros_img': 'hana-release/R103-14816.64.0',
    },
    'enabled': True,
    'identifier': 'HANA_RELEASE_BETA',
  },
    'CROS_HANA_RELEASE_STABLE': {
    'skylab': {
      'cros_board': 'hana',
      'cros_chrome_version': '102.0.5005.125',
      'cros_img': 'hana-release/R102-14695.107.0',
    },
    'enabled': True,
    'identifier': 'HANA_RELEASE_STABLE',
  },
  'CROS_JACUZZI_RELEASE_LKGM': {
    'skylab': {
      'cros_board': 'jacuzzi',
      'cros_chrome_version': '105.0.5134.0',
      'cros_img': 'jacuzzi-release/R105-14933.0.0',
    },
    'enabled': True,
    'identifier': 'JACUZZI_RELEASE_LKGM',
  },
  'CROS_JACUZZI_RELEASE_DEV': {
    'skylab': {
      'cros_board': 'jacuzzi',
      'cros_chrome_version': '104.0.5112.9',
      'cros_img': 'jacuzzi-release/R104-14909.11.0',
    },
    'enabled': True,
    'identifier': 'JACUZZI_RELEASE_DEV',
  },
  'CROS_JACUZZI_RELEASE_BETA': {
    'skylab': {
      'cros_board': 'jacuzzi',
      'cros_chrome_version': '103.0.5060.53',
      'cros_img': 'jacuzzi-release/R103-14816.64.0',
    },
    'enabled': True,
    'identifier': 'JACUZZI_RELEASE_BETA',
  },
  'CROS_OCTOPUS_FULL': {
    'skylab': {
      'cros_board': 'octopus',
      'cros_chrome_version': '101.0.4918.0',
      'cros_img': 'octopus-full/R101-14543.0.0-rc1',
    },
    'enabled': True,
    'identifier': 'OCTOPUS_FULL',
  },
  'CROS_OCTOPUS_RELEASE_LKGM': {
    'skylab': {
      'cros_board': 'octopus',
      'cros_chrome_version': '105.0.5134.0',
      'cros_img': 'octopus-release/R105-14933.0.0',
    },
    'enabled': True,
    'identifier': 'OCTOPUS_RELEASE_LKGM',
  },
  'CROS_OCTOPUS_RELEASE_DEV': {
    'skylab': {
      'cros_board': 'octopus',
      'cros_chrome_version': '104.0.5112.9',
      'cros_img': 'octopus-release/R104-14909.11.0',
    },
    'enabled': True,
    'identifier': 'OCTOPUS_RELEASE_DEV',
  },
  'CROS_OCTOPUS_RELEASE_BETA': {
    'skylab': {
      'cros_board': 'octopus',
      'cros_chrome_version': '103.0.5060.53',
      'cros_img': 'octopus-release/R103-14816.64.0',
    },
    'enabled': True,
    'identifier': 'OCTOPUS_RELEASE_BETA',
  },
  'CROS_OCTOPUS_RELEASE_STABLE': {
    'skylab': {
      'cros_board': 'octopus',
      'cros_chrome_version': '102.0.5005.125',
      'cros_img': 'octopus-release/R102-14695.107.0',
    },
    'enabled': True,
    'identifier': 'OCTOPUS_RELEASE_STABLE',
  },
  'CROS_STRONGBAD_RELEASE_LKGM': {
    'skylab': {
      'cros_board': 'strongbad',
      'cros_chrome_version': '105.0.5134.0',
      'cros_img': 'strongbad-release/R105-14933.0.0',
    },
    'enabled': True,
    'identifier': 'STRONGBAD_RELEASE_LKGM',
  },
  'CROS_STRONGBAD_RELEASE_DEV': {
    'skylab': {
      'cros_board': 'strongbad',
      'cros_chrome_version': '104.0.5112.9',
      'cros_img': 'strongbad-release/R104-14909.11.0',
    },
    'enabled': True,
    'identifier': 'strongbad_RELEASE_DEV',
  },
  'CROS_STRONGBAD_RELEASE_BETA': {
    'skylab': {
      'cros_board': 'strongbad',
      'cros_chrome_version': '103.0.5060.53',
      'cros_img': 'strongbad-release/R103-14816.64.0',
    },
    'enabled': True,
    'identifier': 'STRONGBAD_RELEASE_BETA',
  },
  'CROS_STRONGBAD_RELEASE_STABLE': {
    'skylab': {
      'cros_board': 'strongbad',
      'cros_chrome_version': '102.0.5005.125',
      'cros_img': 'strongbad-release/R102-14695.107.0',
    },
    'enabled': True,
    'identifier': 'STRONGBAD_RELEASE_STABLE',
  },
  'LACROS_AMD64_GENERIC': {
    'args': [
      '--board=amd64-generic',
      '--use-vm',
    ],
    'identifier': 'amd64-generic',
    'swarming': {
       'dimension_sets': [
        {
          'cpu': 'x86',
          'kvm': '1',
          'os': 'Ubuntu-18.04',
        }
      ],
    },
  },
  'LACROS_EVE': {
    'args': [
      '--board=eve',
      '--flash',
    ],
    'identifier': 'eve',
    'swarming': {
      'dimension_sets': [
        {
          'os': 'ChromeOS',
          'device_type': 'eve',
        }
      ],
    },
  },
  'WIN10_INTEL_HD_630_STABLE': {
    'identifier': '8086:5912 or 8086:3e92',
    'mixins': [
      'swarming_containment_auto',
      'win10_intel_hd_630_stable',
    ],
  },
  'WIN10_NVIDIA_GTX_1660_STABLE': {
    'identifier': '10de:2184',
    'mixins': [
      'win10_nvidia_gtx_1660_stable',
    ],
  },
}