# Copyright 2024 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.
# Schema: https://fuchsia.googlesource.com/infra/infra/+/HEAD/cmd/roller-configurator/proto/rollers_cfg.proto
rollers: [
  {
    submodule: {
      path: "third_party/fuchsia-infra-bazel-rules"
    }
    notify_emails: [
        "fuchsia-sdk-experiences+notify@google.com",
        "software-assembly-notify@google.com"
    ]
  },
  {
    submodule: {
      path: "third_party/googletest"
    }
    notify_emails: [
        "fuchsia-sdk-experiences+notify@google.com",
        "software-assembly-notify@google.com"
    ]
  },
  {
    submodule: {
      path: "third_party/platforms"
      ref: "refs/heads/upstream/main"
    }
    notify_emails: [
        "fuchsia-sdk-experiences+notify@google.com",
        "software-assembly-notify@google.com"
    ]
  },
  {
    submodule: {
      path: "third_party/rules_license"
    }
    notify_emails: [
        "fuchsia-sdk-experiences+notify@google.com",
        "software-assembly-notify@google.com"
    ]
  },
  {
    submodule: {
      path: "third_party/rules_python"
    }
    notify_emails: [
        "fuchsia-sdk-experiences+notify@google.com",
        "software-assembly-notify@google.com"
    ]
  },
  {
    cipd_packages: {
      dep_name: "bazel_sdk"
      ensure_files: [
        {
          path: "manifests/bazel_sdk.ensure"
          packages: ["fuchsia/sdk/core/fuchsia-bazel-rules/linux-amd64"]
        },
        {
          path: "manifests/product_bundles.ensure"
          packages: ["fuchsia/development/product_bundles/v2"]
        },
        {
          path: "manifests/platform_arm64.ensure"
          packages: ["fuchsia/assembly/platform/arm64"]
        },
        {
          path: "manifests/platform_x64.ensure"
          packages: ["fuchsia/assembly/platform/x64"]
        },
        {
          path: "manifests/vim3_partitions.ensure"
          packages: ["fuchsia/assembly/partitions/vim3"]
        },
        {
          path: "manifests/vim3.ensure"
          packages: ["fuchsia/assembly/boards/vim3"]
        },
        {
          path: "manifests/x64_partitions.ensure"
          packages: ["fuchsia/assembly/partitions/x64"]
        },
        {
          path: "manifests/x64.ensure"
          packages: ["fuchsia/assembly/boards/x64"]
        },
        {
          path: "manifests/rules_fuchsia.ensure"
          packages: ["fuchsia/development/rules_fuchsia"]
        }
      ]
      tag: "git_revision"
      ref: "latest"
    }
    schedule: "with 2h interval"
    notify_emails: [
        "software-assembly-notify@google.com"
    ]
  },
  {
    cipd_packages: {
      dep_name: "clang"
      ensure_files: [
        {
          path: "manifests/clang.ensure"
          packages: [
            "fuchsia/third_party/clang/linux-amd64"
          ]
        }
      ]
      tag: "git_revision"
      ref: "integration"
    }
    schedule: "with 2h interval"
    notify_emails: [
        "software-assembly-notify@google.com"
    ]
  }
]
