# Auto-generated by lucicfg.
# Do not modify manually.
#
# For the schema of this file, see BuildbucketCfg message:
#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg

buckets {
  name: "official"
  acls {
    group: "all"
  }
  acls {
    role: SCHEDULER
    group: "mdb/chrome-troopers"
  }
  acls {
    role: SCHEDULER
    group: "mdb/perfetto-cloud-infra"
  }
  swarming {
    builders {
      name: "perfetto-official-builder-android"
      swarming_host: "chrome-swarming.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Linux"
      dimensions: "pool:luci.perfetto.official"
      exe {
        cipd_package: "infra/recipe_bundles/android.googlesource.com/platform/external/perfetto"
        cipd_version: "refs/heads/master"
        cmd: "luciexe"
      }
      properties:
        '{'
        '  "recipe": "perfetto"'
        '}'
      service_account: "perfetto-luci-official-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
    builders {
      name: "perfetto-official-builder-linux"
      swarming_host: "chrome-swarming.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Linux"
      dimensions: "pool:luci.perfetto.official"
      exe {
        cipd_package: "infra/recipe_bundles/android.googlesource.com/platform/external/perfetto"
        cipd_version: "refs/heads/master"
        cmd: "luciexe"
      }
      properties:
        '{'
        '  "recipe": "perfetto"'
        '}'
      service_account: "perfetto-luci-official-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
    builders {
      name: "perfetto-official-builder-mac"
      swarming_host: "chrome-swarming.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Mac"
      dimensions: "pool:luci.perfetto.official"
      exe {
        cipd_package: "infra/recipe_bundles/android.googlesource.com/platform/external/perfetto"
        cipd_version: "refs/heads/master"
        cmd: "luciexe"
      }
      properties:
        '{'
        '  "recipe": "perfetto"'
        '}'
      caches {
        name: "macos_sdk"
        path: "macos_sdk"
      }
      service_account: "perfetto-luci-official-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
    builders {
      name: "perfetto-official-builder-windows"
      swarming_host: "chrome-swarming.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Windows"
      dimensions: "pool:luci.perfetto.official"
      exe {
        cipd_package: "infra/recipe_bundles/android.googlesource.com/platform/external/perfetto"
        cipd_version: "refs/heads/master"
        cmd: "luciexe"
      }
      properties:
        '{'
        '  "recipe": "perfetto"'
        '}'
      caches {
        name: "windows_sdk"
        path: "windows_sdk"
      }
      service_account: "perfetto-luci-official-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
  }
}
