diff options
Diffstat (limited to 'chromium/infra/config/global/cr-buildbucket.cfg')
-rw-r--r-- | chromium/infra/config/global/cr-buildbucket.cfg | 661 |
1 files changed, 661 insertions, 0 deletions
diff --git a/chromium/infra/config/global/cr-buildbucket.cfg b/chromium/infra/config/global/cr-buildbucket.cfg new file mode 100644 index 00000000000..abfd93e6bcc --- /dev/null +++ b/chromium/infra/config/global/cr-buildbucket.cfg @@ -0,0 +1,661 @@ +# Defines buckets on cr-buildbucket.appspot.com, used by to schedule builds +# on buildbot. In particular, CQ uses some of these buckets to schedule tryjobs. +# +# See http://luci-config.appspot.com/schemas/projects:buildbucket.cfg for +# schema of this file and documentation. Also see README.md in this dir. +# +# Please keep this list sorted by bucket name. + +acl_sets { + name: "waterfall" + acls { + role: READER + group: "all" + } + acls { + role: SCHEDULER + identity: "luci-scheduler@appspot.gserviceaccount.com" + } + acls { + role: WRITER + group: "service-account-chromium-master" + } +} + +acl_sets { + # This is pure-LUCI CI w/o buildbot. + name: "ci" + acls { + role: READER + group: "all" + } + acls { + role: SCHEDULER + identity: "luci-scheduler@appspot.gserviceaccount.com" + } + acls { + role: SCHEDULER + # Support builder triggering other builders in the same bucket. + identity: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" + } +} + +acl_sets { + name: "tryserver" + acls { + role: READER + group: "all" + } + acls { + role: SCHEDULER + group: "project-chromium-tryjob-access" + } + acls { + role: SCHEDULER + group: "service-account-cq" + } + acls { + role: SCHEDULER + identity: "findit-for-me@appspot.gserviceaccount.com" + } + acls { + role: WRITER + group: "service-account-chromium-tryserver" + } +} + +# CI builders (of which are few) may use high number of concurrent Goma jobs. +builder_mixins { + name: "goma-many-jobs-for-ci" + # IMPORTANT: when + # * bumping number of jobs below, or + # * adding this mixin to many builders at once, or + # * adding this mixin to a builder with many concurrent builds + # get review from Goma team. + recipe { + properties_j: "$build/goma:{\"jobs\": 500}" + } +} + + +builder_mixins { + name: "android" + dimensions: "os:Android" +} + +# The following android mixins don't nest the required swarming dimensions +# since some android recipes expect to run on machines with devices attached +# (os:Android) and some expect to run on device-less linux machines (os:Ubuntu) +builder_mixins { + name: "android-try" + recipe { + properties: "mastername:tryserver.chromium.android" + } +} +builder_mixins { + name: "android-ci" + # TODO(tandrii): migrate to this gradually (current value of + # goma-many-jobs-for-ci is 500). + # mixins: "goma-many-jobs-for-ci" + recipe { + properties: "mastername:chromium.android" + properties_j: "$build/goma:{\"jobs\": 150}" + } +} + +builder_mixins { + name: "fyi-ci" + recipe { + properties: "mastername:chromium.fyi" + } +} + +builder_mixins { + name: "linux" + dimensions: "os:Ubuntu-14.04" +} + +builder_mixins { + name: "linux-try" + mixins: "linux" + recipe { + properties: "mastername:tryserver.chromium.linux" + } +} + +builder_mixins { + name: "linux-ci" + mixins: "linux" + mixins: "goma-many-jobs-for-ci" + recipe { + properties: "mastername:chromium.linux" + } +} + +builder_mixins { + name: "linux-gpu-ci" + mixins: "linux" + recipe { + properties: "mastername:chromium.gpu" + } +} + +builder_mixins { + name: "mac" + dimensions: "os:Mac" +} + +builder_mixins { + name: "mac-try" + mixins: "mac" + recipe { + properties: "mastername:tryserver.chromium.mac" + } +} + +builder_mixins { + name: "mac-ci" + mixins: "mac" + recipe { + properties: "mastername:chromium.mac" + } +} + +builder_mixins { + name: "webkit-ci" + recipe { + properties: "mastername:chromium.webkit" + } +} + +builder_mixins { + name: "win" + dimensions: "os:Windows" +} + +builder_mixins { + name: "win-try" + mixins: "win" + recipe { + properties: "mastername:tryserver.chromium.win" + } +} + +builder_mixins { + name: "win-ci" + mixins: "win" + recipe { + properties: "mastername:chromium.win" + } +} + +builder_mixins { + name: "findit" + # This category is meant for Findit to trigger tryjobs on. + category: "Chromium Variable" + recipe { + name: "findit/chromium/compile" + } +} + +buckets { + name: "luci.chromium.ci" + acl_sets: "ci" + + swarming { + hostname: "chromium-swarm.appspot.com" + builder_defaults { + dimensions: "cpu:x86-64" + dimensions: "pool:luci.chromium.ci" + service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" + execution_timeout_secs: 10800 # 3h + swarming_tags: "vpython:native-python-wrapper" + build_numbers: YES + # Adds dimension: "builder:<builder name>" to ensure builder affinity. + # To "assign" a bot to a builder, bot config of swarming service should + # add the same dimension to the bot. + auto_builder_dimension: YES + luci_migration_host: "luci-migration.appspot.com" + recipe { + repository: "https://chromium.googlesource.com/chromium/tools/build.git" + name: "chromium" + properties_j: "$kitchen:{\"git_auth\": true, \"devshell\": true}" + } + } + + # Keep builders sorted by target OS, then name. + + # Android bots. + builders { + name: "Android arm64 Builder (dbg)" + mixins: "android-ci" + dimensions: "os:Ubuntu-14.04" + dimensions: "cores:8" + execution_timeout_secs: 14400 # 4h + } + + builders { + name: "Marshmallow 64 bit Tester" + mixins: "android-ci" + dimensions: "os:Ubuntu-14.04" + dimensions: "cores:8" + } + + # Linux bots. + builders { + name: "linux-blink-heap-incremental-marking" + mixins: "fyi-ci" + mixins: "linux" + } + + builders { + name: "Cast Linux" + mixins: "linux-ci" + recipe { + properties_j: "$build/goma:{\"jobs\": 50}" + } + } + + builders { + name: "GPU Linux Builder" + mixins: "linux-gpu-ci" + dimensions: "cores:8" + } + + builders { + name: "Linux Builder" + mixins: "linux-ci" + } + + builders { + name: "Linux Release (NVIDIA)" + mixins: "linux-gpu-ci" + dimensions: "cores:8" + } + + builders { + name: "Linux Tests" + mixins: "linux-ci" + } + + builders { + name: "Linux Builder (dbg)" + mixins: "linux-ci" + dimensions: "cpu:x86-64" + dimensions: "cores:32" + } + + builders { + name: "Linux Tests (dbg)(1)" + mixins: "linux-ci" + dimensions: "cpu:x86-64" + dimensions: "cores:8" + } + + # Mac bots. + builders { + name: "Mac Builder (dbg)" + mixins: "mac-ci" + dimensions: "cpu:x86-64" + dimensions: "cores:8" + } + builders { + name: "Mac10.9 Tests (dbg)" + mixins: "mac-ci" + dimensions: "cpu:x86-64" + dimensions: "cores:8" + } + + builders { + name: "WebKit Mac Builder (dbg)" + mixins: "webkit-ci" + dimensions: "os:Mac-10.12" + dimensions: "cpu:x86-64" + dimensions: "cores:8" + } + + # Win bots. + builders { + name: "Win Builder" + mixins: "win-ci" + dimensions: "cpu:x86-64" + dimensions: "cores:32" + } + builders { + name: "Win Builder (dbg)" + mixins: "win-ci" + dimensions: "cpu:x86-64" + dimensions: "cores:32" + } + builders { + name: "Win7 Tests (1)" + mixins: "win-ci" + dimensions: "cpu:x86-64" + dimensions: "cores:8" + } + builders { + name: "Win7 Tests (dbg)(1)" + mixins: "win-ci" + dimensions: "cpu:x86-64" + dimensions: "cores:8" + } + } +} + +buckets { + name: "luci.chromium.findit" + acls { + role: SCHEDULER + group: "findit-tryjob-access" + } + acls { + role: READER + group: "googlers" + } + acls { + role: READER + identity: "findit-builder@chops-service-accounts.iam.gserviceaccount.com" + } + + swarming { + hostname: "chromium-swarm.appspot.com" + builder_defaults { + category: "Chromium Variable" + dimensions: "pool:luci.chromium.findit" + service_account: "findit-builder@chops-service-accounts.iam.gserviceaccount.com" + execution_timeout_secs: 28800 # 8h + build_numbers: YES + caches { + path: "win_toolchain" + name: "win_toolchain" + } + # Findit app specifies these for each build it schedules. The reason why + # we specify them here is to pass validation of the buildbucket config. + # Also, to illustrate the typical use case of this bucket. + recipe { + repository: "https://chromium.googlesource.com/chromium/tools/build.git" + name: "findit/chromium/compile" + properties_j: "$kitchen:{\"git_auth\": true, \"devshell\": true}" + } + } + + # Dimensionless trybot for findit. + # + # Findit will add appropriate dimensions and properties as needed based on + # the waterfall builder being analyzed. + # + # TODO(robertocn): Remove _variable trybot builders from luci.chromium.try + # after they have been configured to use this generic builder, as well as + # the findit 'mixin'. + builders { name: "findit_variable" } + } +} + +buckets { + name: "luci.chromium.try" + + # NOTE: these ACLs should be kept in sync with those in the other + # "master.tryserver.chromium.*" buckets. + acl_sets: "tryserver" + + swarming { + hostname: "chromium-swarm.appspot.com" + task_template_canary_percentage { value: 50 } + + builder_defaults { + category: "Chromium CQ" + dimensions: "cpu:x86-64" + dimensions: "pool:luci.chromium.try" + service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com" + execution_timeout_secs: 10800 # 3h + swarming_tags: "vpython:native-python-wrapper" + build_numbers: YES + # Adds dimension: "builder:<builder name>" to ensure builder affinity. + # To "assign" a bot to a builder, bot config of swarming service should + # add the same dimension to the bot. + auto_builder_dimension: YES + caches { + path: "win_toolchain" + name: "win_toolchain" + } + recipe { + repository: "https://chromium.googlesource.com/chromium/tools/build.git" + name: "chromium_trybot" + properties_j: "$kitchen:{\"git_auth\": true, \"devshell\": true}" + } + } + + # Keep builders sorted by OS, then name. + builders { + mixins: "android-try" + name: "android_arm64_dbg_recipe" + dimensions: "os:Ubuntu-14.04" + dimensions: "cores:8" + } + builders { + mixins: "android-try" + name: "android_n5x_swarming_dbg" + dimensions: "os:Ubuntu-14.04" + dimensions: "cores:8" + } + + builders { mixins: "linux-try" name: "cast_shell_audio_linux" } + builders { mixins: "linux-try" name: "cast_shell_linux" } + builders { mixins: "linux-try" name: "chromeos_amd64-generic_chromium_compile_only_ng" } + builders { mixins: "linux-try" name: "chromeos_amd64-generic_chromium_compile_only_ng" } + builders { mixins: "linux-try" name: "chromeos_amd64-generic_variable" } + builders { mixins: "linux-try" name: "chromeos_daisy_chromium_compile_only_ng" } + builders { mixins: "linux-try" name: "chromeos_daisy_variable" } + builders { mixins: "linux-try" name: "chromeos_x86-generic_chromium_compile_only_ng" } + builders { mixins: "linux-try" name: "chromeos_x86-generic_variable" } + builders { mixins: "linux-try" name: "chromium_devtools" } + builders { + mixins: "linux-try" + name: "chromium_presubmit" + recipe { + name: "run_presubmit" + properties: "repo_name:chromium" + properties_j: "runhooks:true" + } + } + builders { mixins: "linux-try" name: "closure_compilation" } + builders { mixins: "linux-try" name: "fuchsia" } + builders { mixins: "linux-try" name: "linux_android_rel_ng" } + builders { mixins: "linux-try" name: "linux_arm" } + builders { mixins: "linux-try" name: "linux_chromium_analysis" } + builders { mixins: "linux-try" name: "linux_chromium_archive_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_asan_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_asan_variable" } + builders { mixins: "linux-try" name: "linux_chromium_browser_side_navigation_rel" } + builders { mixins: "linux-try" name: "linux_chromium_cast_variable" } + builders { mixins: "linux-try" name: "linux_chromium_cfi_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_chromeos_asan_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_chromeos_asan_variable" } + builders { mixins: "linux-try" name: "linux_chromium_chromeos_compile_dbg_ng" } + builders { mixins: "linux-try" name: "linux_chromium_chromeos_compile_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_chromeos_dbg_ng" } + builders { mixins: "linux-try" name: "linux_chromium_chromeos_msan_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_chromeos_msan_variable" } + builders { mixins: "linux-try" name: "linux_chromium_chromeos_ozone_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_chromeos_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_chromeos_variable" } + builders { mixins: "linux-try" name: "linux_chromium_chromeos_variable_chrome" } + builders { mixins: "linux-try" name: "linux_chromium_chromeos_variable_deflake" } + builders { mixins: "linux-try" name: "linux_chromium_clobber_deterministic" } + builders { mixins: "linux-try" name: "linux_chromium_clobber_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_compile_dbg_32_ng" } + builders { mixins: "linux-try" name: "linux_chromium_compile_dbg_ng" } + builders { mixins: "linux-try" name: "linux_chromium_compile_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_component_updater" } + builders { mixins: "linux-try" name: "linux_chromium_dbg_32_ng" } + builders { mixins: "linux-try" name: "linux_chromium_dbg_ng" } + builders { mixins: "linux-try" name: "linux_chromium_gn_upload" } + builders { mixins: "linux-try" name: "linux_chromium_headless_rel" } + builders { mixins: "linux-try" name: "linux_chromium_msan_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_msan_variable" } + builders { mixins: "linux-try" name: "linux_chromium_ozone_compile_only_ng" } + builders { mixins: "linux-try" name: "linux_chromium_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_tsan_rel_ng" } + builders { mixins: "linux-try" name: "linux_chromium_tsan_variable" } + builders { mixins: "linux-try" name: "linux_chromium_ubsan_rel_ng" } + builders { + # TODO(robertocn): remove this builder. + mixins: "linux-try" + mixins: "findit" + name: "linux_chromium_variable" + auto_builder_dimension: NO + } + builders { mixins: "linux-try" name: "linux_chromium_variable_32" } + builders { mixins: "linux-try" name: "linux_chromium_variable_chrome" } + builders { mixins: "linux-try" name: "linux_chromium_variable_clobber" } + builders { mixins: "linux-try" name: "linux_chromium_variable_deflake" } + builders { mixins: "linux-try" name: "linux_chromium_webkit_asan_variable" } + builders { mixins: "linux-try" name: "linux_chromium_webkit_leak_variable" } + builders { mixins: "linux-try" name: "linux_chromium_webkit_msan_variable" } + builders { mixins: "linux-try" name: "linux_chromium_webkit_variable" } + builders { mixins: "linux-try" name: "linux_chromiumos_full_variable" } + builders { mixins: "linux-try" name: "linux_layout_tests_layout_ng" } + builders { mixins: "linux-try" name: "linux_layout_tests_slimming_paint_v2" } + builders { mixins: "linux-try" name: "linux_mojo" } + builders { mixins: "linux-try" name: "linux_mojo_chromeos" } + builders { mixins: "linux-try" name: "linux_nacl_sdk" } + builders { mixins: "linux-try" name: "linux_nacl_sdk_build" } + builders { mixins: "linux-try" name: "linux_optional_gpu_tests_rel" } + builders { mixins: "linux-try" name: "linux_site_isolation" } + builders { mixins: "linux-try" name: "linux_upload_clang" } + + builders { mixins: "mac-try" name: "ios-device" } + builders { mixins: "mac-try" name: "ios-device-xcode-clang" } + builders { mixins: "mac-try" name: "ios-simulator" } + builders { mixins: "mac-try" name: "ios-simulator-cronet" } + builders { mixins: "mac-try" name: "ios-simulator-eg" } + builders { mixins: "mac-try" name: "ios-simulator-xcode-clang" } + builders { mixins: "mac-try" name: "mac_chromium_10.10_macviews" } + builders { mixins: "mac-try" name: "mac_chromium_10.10_rel_ng" } + builders { mixins: "mac-try" name: "mac_chromium_10.12_rel_ng" } + builders { mixins: "mac-try" name: "mac_chromium_archive_rel_ng" } + builders { mixins: "mac-try" name: "mac_chromium_asan_rel_ng" } + builders { mixins: "mac-try" name: "mac_chromium_asan_variable" } + builders { mixins: "mac-try" name: "mac_chromium_compile_dbg_ng" dimensions:"os:Mac-10.13.3"} + builders { mixins: "mac-try" name: "mac_chromium_compile_rel_ng" } + builders { mixins: "mac-try" name: "mac_chromium_dbg_ng" dimensions:"os:Mac-10.12"} + builders { mixins: "mac-try" name: "mac_chromium_gn_upload" } + builders { mixins: "mac-try" name: "mac_chromium_rel_ng" } + builders { mixins: "mac-try" name: "mac_chromium_variable" } + builders { mixins: "mac-try" name: "mac_chromium_variable_10.10" } + builders { mixins: "mac-try" name: "mac_chromium_variable_10.10_layout" } + builders { mixins: "mac-try" name: "mac_chromium_variable_10.11" } + builders { mixins: "mac-try" name: "mac_chromium_variable_10.11_layout" } + builders { mixins: "mac-try" name: "mac_chromium_variable_10.12" } + builders { mixins: "mac-try" name: "mac_chromium_variable_archive" } + builders { mixins: "mac-try" name: "mac_chromium_variable_chrome" } + builders { mixins: "mac-try" name: "mac_chromium_variable_deflake" } + builders { mixins: "mac-try" name: "mac_chromium_variable_layout" } + builders { mixins: "mac-try" name: "mac_nacl_sdk" } + builders { mixins: "mac-try" name: "mac_nacl_sdk_build" } + builders { mixins: "mac-try" name: "mac_optional_gpu_tests_rel" } + builders { mixins: "mac-try" name: "mac_upload_clang" } + + builders { mixins: "win-try" name: "win10_chromium_x64_rel_ng" } + builders { mixins: "win-try" name: "win10_chromium_x64_rel_ng_exp" } + builders { mixins: "win-try" name: "win8_chromium_gn_upload" } + builders { mixins: "win-try" name: "win7_chromium_rel_ng" } + builders { mixins: "win-try" name: "win7_chromium_rel_loc_exp" } + builders { mixins: "win-try" name: "win_archive" } + builders { mixins: "win-try" name: "win_chrome_official" } + builders { mixins: "win-try" name: "win_chromium_compile_dbg_ng" } + builders { mixins: "win-try" name: "win_chromium_compile_rel_ng" } + builders { mixins: "win-try" name: "win_chromium_dbg_ng" } + builders { mixins: "win-try" name: "win_chromium_syzyasan_rel" } + builders { mixins: "win-try" name: "win_chromium_variable" } + builders { mixins: "win-try" name: "win_chromium_variable_archive" } + builders { mixins: "win-try" name: "win_chromium_variable_chrome" } + builders { mixins: "win-try" name: "win_chromium_variable_clang" } + builders { mixins: "win-try" name: "win_chromium_variable_deflake" } + builders { mixins: "win-try" name: "win_chromium_variable_webkit_builder" } + builders { mixins: "win-try" name: "win_chromium_variable_webkit_win7_builder" } + builders { mixins: "win-try" name: "win_chromium_variable_webkit_win7_builder_x64" } + builders { mixins: "win-try" name: "win_chromium_x64_rel_ng" } + builders { mixins: "win-try" name: "win_clang" } + builders { mixins: "win-try" name: "win_clang_dbg" } + builders { mixins: "win-try" name: "win_clang_rel" } + builders { mixins: "win-try" name: "win_clang_x64_dbg" } + builders { mixins: "win-try" name: "win_clang_x64_rel" } + builders { mixins: "win-try" name: "win_mojo" } + builders { mixins: "win-try" name: "win_nacl_sdk" } + builders { mixins: "win-try" name: "win_nacl_sdk_build" } + builders { mixins: "win-try" name: "win_optional_gpu_tests_rel" } + builders { mixins: "win-try" name: "win_pgo" } + builders { mixins: "win-try" name: "win_upload_clang" } + builders { mixins: "win-try" name: "win_x64_archive" } + builders { mixins: "win-try" name: "win_x64_chromium_variable_builder" } + } +} + + +buckets { + name: "master.chromium.android.fyi" + acl_sets: "waterfall" +} + +buckets { + name: "master.chromium.perf" + acl_sets: "waterfall" +} + +buckets { + name: "master.chromium.perf.fyi" + acl_sets: "waterfall" +} + +# Defining blink build bucket in chromium/src repo because +# blink will merge to chromium/src. +# Also git admins are reluctant to create infra/config branches +# in svn-based git repos (crbug.com/513580). +buckets { + name: "master.tryserver.blink" + acl_sets: "tryserver" +} + +buckets { + name: "master.tryserver.chromium.android" + acl_sets: "tryserver" +} + +buckets { + name: "master.tryserver.chromium.chromiumos" + acl_sets: "tryserver" +} + +buckets { + name: "master.tryserver.chromium.gpu" + acl_sets: "tryserver" +} + +buckets { + name: "master.tryserver.chromium.linux" + acl_sets: "tryserver" +} + +buckets { + name: "master.tryserver.chromium.mac" + acl_sets: "tryserver" +} + +buckets { + name: "master.tryserver.chromium.perf" + acl_sets: "tryserver" + acls { + role: SCHEDULER + group: "service-account-chromium-bisect" + } + acls { + role: SCHEDULER + group: "service-account-chromium-perf-dashboard" + } +} + +buckets { + name: "master.tryserver.chromium.win" + acl_sets: "tryserver" +} |