# Metadata information for this directory.
#
# For more information on DIR_METADATA files, see:
#   https://source.chromium.org/chromium/infra/infra/+/HEAD:go/src/infra/tools/dirmd/README.md
#
# For the schema of this file, see Metadata message:
#   https://source.chromium.org/chromium/infra/infra/+/HEAD:go/src/infra/tools/dirmd/proto/dir_metadata.proto

buganizer {
  # ChromeOS > Platform > Enablement > Firmware
  component_id: 167172
}


chromeos {
  cq {
    # See go/cros-cq-test-config
    source_test_plans {
      test_plan_starlark_files {
        host: "chrome-internal.googlesource.com"
        project: "chromeos/config-internal"
        path: "test/plans/v2/ctpv1_compatible/legacy_default_tast_hw.star"
      }
      test_plan_starlark_files {
        host: "chrome-internal.googlesource.com"
        project: "chromeos/config-internal"
        path: "test/plans/v2/ctpv1_compatible/legacy_default_autotest_hw.star"
      }
      test_plan_starlark_files {
        host: "chrome-internal.googlesource.com"
        project: "chromeos/config-internal"
        path: "test/plans/v2/ctpv1_compatible/legacy_default_vm.star"
      }
    }
    # Changes to WiFi or Bluetooth firmware should trigger both WiFi and Bluetooth suites
    source_test_plans {
      test_plan_starlark_files {
        host: "chrome-internal.googlesource.com"
        project: "chromeos/config-internal"
        path: "test/plans/v2/ctpv1_compatible/bluetooth_cq.star"
      }
      test_plan_starlark_files {
        host: "chrome-internal.googlesource.com"
        project: "chromeos/config-internal"
        path: "test/plans/v2/ctpv1_compatible/wifi_cq.star"
      }
      path_regexps: "ath10k/.*"
      path_regexps: "ath11k/.*"
      path_regexps: "iwlwifi-.*"
      path_regexps: "mrvl/.*"
      path_regexps: "qca/.*"
      path_regexps: "rtl_bt/.*"
      path_regexps: "rtw88/.*"
      path_regexps: "rtw89/.*"
    }

    # Enable bluetooth_floss_cq for boards on with floss
    # is stabliized
    source_test_plans {
      test_plan_starlark_files {
        host: "chrome-internal.googlesource.com"
        project: "chromeos/config-internal"
        path: "test/plans/v2/ctpv1_compatible/bluetooth_cq.star"
      }
      test_plan_starlark_files {
        host: "chrome-internal.googlesource.com"
        project: "chromeos/config-internal"
        path: "test/plans/v2/ctpv1_compatible/bluetooth_floss_cq.star"
      }
      path_regexps: "intel/ibt-.*"
    }
  }
}
