# Copyright 2018 The Fuchsia 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 file is a source of truth for what platforms are available for testing
# and what dimensions they possess to match against.
#
# Please do not update this file; contact fuchsia-infra-team@google.com with any
# questions.
#
# Swarming is the task distribution system used by Fuchsia to run automated
# builds. A dimension is a formal Swarming concept effectively given by a
# key-value pair; it describes a bot property that can be targeted. Below are
# the published dimensions for the platforms we have available to test on.
# For more general Swarming documentation see
# https://chromium.googlesource.com/infra/luci/luci-py/+/master/appengine/swarming/doc/

# All Swarming dimension keys that Fuchsia test authors may use to target test
# platforms.
all_dimension_keys = [
  "device_type",
  "cpu",
  "os",
  "pool",
  "testbed",
]

# Scopes of dimensions for every available platform.
test_platforms = [
  {
    device_type = "QEMU"
    cpu = "x64"
  },
  {
    device_type = "QEMU"
    cpu = "arm64"
  },
  {
    device_type = "Intel NUC Kit NUC7i5DNHE"
    cpu = "x64"
  },
  {
    os = "Linux"
    cpu = "x64"
  },
  {
    os = "Linux"
    cpu = "arm64"
  },
  {
    os = "Mac"
    cpu = "x64"
  },
  {
    testbed = "bt_rf_chamber_nuc_phone"
    cpu = "x64"
    pool = "fuchsia.tests.connectivity"
  },
  {
    testbed = "bt_rf_chamber_nuc_nuc"
    cpu = "x64"
    pool = "fuchsia.tests.connectivity"
  },
  {
    testbed = "wifi_rf_chamber_nuc"
    cpu = "x64"
    pool = "fuchsia.tests.connectivity"
  },
  # The platforms below are experimental and may not yet be targeted.
  # See IN-876
  {
    device_type = "Astro"
    cpu = "arm64"
  },

  # See IN-571.
  {
    device_type = "Khadas Vim2 Max"
    cpu = "arm64"
  },
]
