# Defines buckets on cr-buildbucket.appspot.com, used 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.
#
# Please keep this list sorted by bucket name.

buckets {
  name: "master.client.skia"
  acls {
    role: READER
    group: "all"
  }
  acls {
    role: SCHEDULER
    group: "project-skia-tryjob-access"
  }
  acls {
    role: SCHEDULER
    group: "service-account-cq"
  }
  acls {
    role: WRITER
    group: "service-account-skia-master"
  }
}

buckets {
  name: "master.client.skia.android"
  acls {
    role: READER
    group: "all"
  }
  acls {
    role: SCHEDULER
    group: "project-skia-tryjob-access"
  }
  acls {
    role: SCHEDULER
    group: "service-account-cq"
  }
  acls {
    role: WRITER
    group: "service-account-skia-master"
  }
}

buckets {
  name: "master.client.skia.compile"
  acls {
    role: READER
    group: "all"
  }
  acls {
    role: SCHEDULER
    group: "project-skia-tryjob-access"
  }
  acls {
    role: SCHEDULER
    group: "service-account-cq"
  }
  acls {
    role: WRITER
    group: "service-account-skia-master"
  }
}

buckets {
  name: "master.client.skia.fyi"
  acls {
    role: READER
    group: "all"
  }
  acls {
    role: SCHEDULER
    group: "project-skia-tryjob-access"
  }
  acls {
    role: SCHEDULER
    group: "service-account-cq"
  }
  acls {
    role: WRITER
    group: "service-account-skia-master"
  }

  swarming {
    hostname: "chromium-swarm.appspot.com"
    common_dimensions {
      key: "pool"
      value: "Skia"
    }
    common_swarming_tags: "master:master.client.skia.fyi"
    builders {
      name: "Build-Ubuntu-GCC-x86_64-Release-Swarmbucket"
      swarming_tags: "builder:Build-Ubuntu-GCC-x86_64-Release-Swarmbucket"
      dimensions {
        key: "os"
        value: "Linux"
      }
      recipe {
        repository: "https://chromium.googlesource.com/chromium/tools/build"
        name: "skia/skia"
      }
    }
  }
}
