# Copyright 2016 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.

# Defines buckets on cr-buildbucket.appspot.com, used by to schedule builds
# on buildbot.
#
# 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: "luci.cobalt.ci"
  acls {
    role: READER
    group: "all"
  }
  acls {
    role: SCHEDULER
    group: "project-fuchsia-tryjob-access"
  }

  swarming {
    hostname: "chromium-swarm.appspot.com"
    url_format: "https://luci-milo.appspot.com/swarming/task/{task_id}"

    builder_defaults {
      swarming_tags: "allow_milo:1"
      dimensions: "pool:Fuchsia"
      recipe {
        name: "cobalt"
        repository: "https://fuchsia.googlesource.com/infra/recipes"
        properties: "remote:https://fuchsia.googlesource.com/manifest"
        properties: "manifest:cobalt"
      }
      execution_timeout_secs: 1800  # 30 min
    }

    # Keep builders sorted by category, then name.

    builders {
      category: "Cobalt"
      name: "Linux x86-64"
      dimensions: "os:Ubuntu-14.04"
      dimensions: "cpu:x86-64"
      recipe {
        properties: "target:x86-64"
      }
    }
  }
}
