# 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-22.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"
      experiments {
        key: "luci.recipes.use_python3"
        value: 100
      }
    }
    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"
      experiments {
        key: "luci.recipes.use_python3"
        value: 100
      }
    }
    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"
      experiments {
        key: "luci.recipes.use_python3"
        value: 100
      }
    }
  }
  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-22.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"
      experiments {
        key: "luci.recipes.use_python3"
        value: 100
      }
    }
    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"
      experiments {
        key: "luci.recipes.use_python3"
        value: 100
      }
    }
    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"
      experiments {
        key: "luci.recipes.use_python3"
        value: 100
      }
    }
  }
  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 {}
}
