# Defines buckets on cr-buildbucket-dev.appspot.com, used by to schedule builds
# on buildbot. In particular, CQ uses some of these buckets to schedule tryjobs.
#
# See http://luci-config.appspot.com/schemas/projects:buildbucket.cfg for
# schema of this file and documentation. Also see README.md in this dir.
#
# Please keep this list sorted by bucket name.

acl_sets {
  # This is pure-LUCI w/o buildbot.
  name: "default"
  acls {
    role: READER
    group: "all"
  }
  acls {
    role: SCHEDULER
    identity: "luci-scheduler-dev@appspot.gserviceaccount.com"
  }
}

builder_mixins {
  name: "swarm-ci"
  dimensions: "cpu:x86-64"
  recipe {
    name: "swarming/staging"
    properties: "mastername:chromium.swarm"
  }
}

buckets {
  name: "luci.chromium.ci"

  acl_sets: "default"
  acls {
    role: SCHEDULER
    # Support builder triggering other builders in the same bucket.
    identity: "chromium-ci-builder-dev@chops-service-accounts.iam.gserviceaccount.com"
  }
  acls {
    # Allow task force to bump next build number.
    role: WRITER
    group: "google/luci-task-force@google.com"
  }

  swarming {
    hostname: "chromium-swarm-dev.appspot.com"

    builder_defaults {
      category: "Chromium"
      execution_timeout_secs: 10800  # 3h
      service_account: "chromium-ci-builder-dev@chops-service-accounts.iam.gserviceaccount.com"
      build_numbers: YES
      recipe {
        cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
        cipd_version: "refs/heads/master"
        name: "chromium"
      }
    }
    builders {
      name: "Android N5 Swarm"
      dimensions: "os:Ubuntu-14.04"
      mixins: "swarm-ci"
    }
    builders {
      name: "Android N5X Swarm"
      dimensions: "os:Ubuntu-14.04"
      mixins: "swarm-ci"
    }
    builders {
      name: "ChromeOS Swarm"
      dimensions: "os:Ubuntu-14.04"
      mixins: "swarm-ci"
    }
    builders {
      name: "Linux Swarm"
      dimensions: "os:Ubuntu-14.04"
      mixins: "swarm-ci"
    }
    builders {
      name: "Mac Swarm"
      dimensions: "os:Mac-10.13"
      mixins: "swarm-ci"
    }
    builders {
      name: "Windows Swarm"
      dimensions: "os:Windows-10"
      mixins: "swarm-ci"
    }
  }
}

buckets {
    name: "luci.chromium.cron"
    acl_sets: "default"
    acls {
      role: SCHEDULER
      identity: "snapshot-builder@chops-service-accounts.iam.gserviceaccount.com"
   }

    swarming {
      hostname: "chromium-swarm-dev.appspot.com"

      builders {
        name: "Snapshot Builder"
        dimensions: "os:Ubuntu-14.04"
        execution_timeout_secs: 3600
        service_account: "snapshot-builder@chops-service-accounts.iam.gserviceaccount.com"
        recipe {
          cipd_package: "infra/recipe_bundles/chromium.googlesource.com/infra/infra"
          cipd_version: "refs/heads/master"
          name: "snapshots/builder"
        }
      }

      builders {
        name: "Snapshots"
        execution_timeout_secs: 3600
        recipe {
          cipd_package: "infra/recipe_bundles/chromium.googlesource.com/infra/infra"
          cipd_version: "refs/heads/master"
          name: "snapshots/snapshot"
        }
      }
    }
}
