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

name: "global.ci"
swarming {
  builders {
    name: "core.x64-dfv2-asan"
    swarming_host: "chromium-swarm.appspot.com"
    dimensions: "cores:2"
    dimensions: "cpu:x64"
    dimensions: "gce:1"
    dimensions: "os:Linux"
    dimensions: "pool:luci.fuchsia.ci"
    exe {
      cipd_package: "fuchsia/infra/recipe_bootstrap/${platform}"
      cipd_version: "git_revision:2dbea7a9d2504893b41301eb00df722b8a10892c"
      cmd: "luciexe"
    }
    properties:
      '{'
      '  "is_fyi": true,'
      '  "led_builder_is_bootstrapped": true,'
      '  "recipe": "fuchsia/fuchsia",'
      '  "recipes_host_override": "fuchsia.googlesource.com"'
      '}'
    execution_timeout_secs: 8400
    caches {
      name: "builder"
      path: "builder"
    }
    caches {
      name: "symbol"
      path: "symbol"
    }
    service_account: "fuchsia-ci-builder@fuchsia-infra.iam.gserviceaccount.com"
    resultdb {
      enable: true
      bq_exports {
        project: "fuchsia-infra"
        dataset: "resultdb"
        table: "ci"
        test_results {}
      }
      bq_exports {
        project: "fuchsia-infra"
        dataset: "resultdb"
        table: "artifacts_ci"
        text_artifacts {}
      }
      history_options {
        use_invocation_timestamp: true
      }
    }
    description_html: "The <a href=\"https://fuchsia.dev/fuchsia-src/development/build/build_system/boards_and_products?hl=en#core-product\">core</a> product has networking capabilities and supports updates and installing additional software over-the-air."
  }
}
