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

buckets {
  name: "ci"
  acls {
    group: "all"
  }
  swarming {
    builders {
      name: "linux"
      swarming_host: "chromium-swarm.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Ubuntu-24.04"
      dimensions: "pool:luci.flex.ci"
      recipe {
        name: "gn"
        cipd_package: "infra/recipe_bundles/gn.googlesource.com/gn"
        cipd_version: "refs/heads/main"
      }
      execution_timeout_secs: 3600
      service_account: "gn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
    builders {
      name: "mac"
      swarming_host: "chromium-swarm.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Mac-13"
      dimensions: "pool:luci.flex.ci"
      recipe {
        name: "gn"
        cipd_package: "infra/recipe_bundles/gn.googlesource.com/gn"
        cipd_version: "refs/heads/main"
      }
      execution_timeout_secs: 3600
      caches {
        name: "macos_sdk"
        path: "macos_sdk"
      }
      service_account: "gn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
    builders {
      name: "win"
      swarming_host: "chromium-swarm.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Windows-10"
      dimensions: "pool:luci.flex.ci"
      recipe {
        name: "gn"
        cipd_package: "infra/recipe_bundles/gn.googlesource.com/gn"
        cipd_version: "refs/heads/main"
      }
      execution_timeout_secs: 3600
      caches {
        name: "windows_sdk"
        path: "windows_sdk"
      }
      service_account: "gn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
  }
  shadow: "ci.shadow"
}
buckets {
  name: "ci.shadow"
  acls {
    group: "all"
  }
  constraints {
    pools: "luci.flex.ci"
    service_accounts: "gn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  dynamic_builder_template {}
}
buckets {
  name: "try"
  acls {
    group: "all"
  }
  acls {
    role: SCHEDULER
    group: "project-gn-tryjob-access"
  }
  acls {
    role: SCHEDULER
    group: "service-account-cq"
  }
  swarming {
    builders {
      name: "linux"
      swarming_host: "chromium-swarm.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Ubuntu-24.04"
      dimensions: "pool:luci.flex.try"
      recipe {
        name: "gn"
        cipd_package: "infra/recipe_bundles/gn.googlesource.com/gn"
        cipd_version: "refs/heads/main"
      }
      execution_timeout_secs: 3600
      service_account: "gn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
    builders {
      name: "linux-starlark"
      swarming_host: "chromium-swarm.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Ubuntu-24.04"
      dimensions: "pool:luci.flex.try"
      recipe {
        name: "gn"
        cipd_package: "infra/recipe_bundles/gn.googlesource.com/gn"
        cipd_version: "refs/heads/starlark"
      }
      execution_timeout_secs: 3600
      service_account: "gn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
    builders {
      name: "mac"
      swarming_host: "chromium-swarm.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Mac-13"
      dimensions: "pool:luci.flex.try"
      recipe {
        name: "gn"
        cipd_package: "infra/recipe_bundles/gn.googlesource.com/gn"
        cipd_version: "refs/heads/main"
      }
      execution_timeout_secs: 3600
      caches {
        name: "macos_sdk"
        path: "macos_sdk"
      }
      service_account: "gn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
    builders {
      name: "mac-starlark"
      swarming_host: "chromium-swarm.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Mac-13"
      dimensions: "pool:luci.flex.try"
      recipe {
        name: "gn"
        cipd_package: "infra/recipe_bundles/gn.googlesource.com/gn"
        cipd_version: "refs/heads/starlark"
      }
      execution_timeout_secs: 3600
      caches {
        name: "macos_sdk"
        path: "macos_sdk"
      }
      service_account: "gn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
    builders {
      name: "win"
      swarming_host: "chromium-swarm.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Windows-10"
      dimensions: "pool:luci.flex.try"
      recipe {
        name: "gn"
        cipd_package: "infra/recipe_bundles/gn.googlesource.com/gn"
        cipd_version: "refs/heads/main"
      }
      execution_timeout_secs: 3600
      caches {
        name: "windows_sdk"
        path: "windows_sdk"
      }
      service_account: "gn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
    builders {
      name: "win-starlark"
      swarming_host: "chromium-swarm.appspot.com"
      dimensions: "cpu:x86-64"
      dimensions: "os:Windows-10"
      dimensions: "pool:luci.flex.try"
      recipe {
        name: "gn"
        cipd_package: "infra/recipe_bundles/gn.googlesource.com/gn"
        cipd_version: "refs/heads/starlark"
      }
      execution_timeout_secs: 3600
      caches {
        name: "windows_sdk"
        path: "windows_sdk"
      }
      service_account: "gn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
    }
  }
  shadow: "try.shadow"
}
buckets {
  name: "try.shadow"
  acls {
    group: "all"
  }
  constraints {
    pools: "luci.flex.try"
    service_accounts: "gn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
  }
  dynamic_builder_template {}
}
