# Copyright 2022 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. load("@chromium-luci//builders.star", "builder", "cpu", "defaults", "free_space", "os") load("@chromium-luci//consoles.star", "consoles") load("@chromium-luci//dimensions.star", "dimensions") load("@chromium-luci//polymorphic.star", "polymorphic") load("//lib/ci_constants.star", "ci_constants") luci.bucket( name = "reviver", acls = [ acl.entry( roles = acl.BUILDBUCKET_READER, groups = "all", ), acl.entry( roles = acl.BUILDBUCKET_TRIGGERER, # TODO(crbug.com/40232487) Switch this to something more sensible once # the builders are verified users = [ "reviver-builder@chops-service-accounts.iam.gserviceaccount.com", ], ), acl.entry( roles = acl.BUILDBUCKET_OWNER, groups = "project-chromium-admins", ), ], ) consoles.list_view( name = "reviver", ) defaults.set( bucket = "reviver", pool = ci_constants.DEFAULT_POOL, cores = 8, os = os.LINUX_DEFAULT, list_view = "reviver", experiments = { "chromium_tests.resultdb_module": 100, }, service_account = "reviver-builder@chops-service-accounts.iam.gserviceaccount.com", ) polymorphic.launcher( name = "android-launcher", # To avoid peak hours, we run it at 2 AM, 5 AM, 8 AM, 11AM, 2 PM UTC. schedule = "0 2,5,8,11,14 * * *", pool = ci_constants.DEFAULT_POOL, cores = 8, os = os.LINUX_DEFAULT, runner = "reviver/runner", target_builders = [ "ci/android-10-x86-rel", "ci/android-10-x86-nofieldtrial-rel", "ci/android-12-x64-rel", "ci/android-13-x64-rel", "ci/android-14-x64-rel", "ci/android-15-x64-rel", "ci/android-15-tablet-x64-rel", "ci/android-15-tablet-landscape-x64-rel", "ci/android-16-x64-rel", "ci/android-14-automotive-landscape-x64-rel", ], ) polymorphic.launcher( name = "android-coverage-launcher", # Match the replicated builders' schedule for comparable data schedule = "0 4 * * *", pool = ci_constants.DEFAULT_POOL, os = os.LINUX_DEFAULT, runner = "reviver/coverage-runner", target_builders = [ "ci/android-code-coverage", "ci/android-code-coverage-native", ], ) polymorphic.launcher( name = "android-device-launcher", # To avoid peak hours, we run it at 5 AM, 8 AM, 11AM UTC. schedule = "0 5,8,11 * * *", pool = ci_constants.DEFAULT_POOL, os = os.LINUX_DEFAULT, runner = "reviver/runner", target_builders = [ "ci/android-14-arm64-rel", ], ) # TODO(https://crbug.com/465771089): Merge two x64 builders together. polymorphic.launcher( name = "android-12l-x64-dbg-launcher", description_html = "Reviver launcher for Android 12L on x64 dbg", # To avoid peak hours, we run it at 2 AM, 5 AM, 8 AM, 11AM, 2 PM UTC. schedule = "0 2,5,8,11,14 * * *", pool = ci_constants.DEFAULT_POOL, cores = 8, os = os.LINUX_DEFAULT, contact_team_email = "clank-engprod@google.com", runner = "reviver/runner", target_builders = [ polymorphic.target_builder( builder = "ci/Android x64 Builder (dbg)", dimensions = dimensions.dimensions( builderless = "", cores = "", os = os.LINUX_DEFAULT, ssd = "", free_space = "", builder = "Android x64 Builder (dbg)", ), testers = [ "ci/android-12l-x64-dbg-tests", ], ), ], ) # TODO(https://crbug.com/465771089): Merge two x64 builders together. polymorphic.launcher( name = "android-16-x64-dbg-launcher", description_html = "Reviver launcher for Android 16 on x64 dbg", # To avoid peak hours, we run it at 2 AM, 5 AM, 8 AM, 11AM, 2 PM UTC. schedule = "0 2,5,8,11,14 * * *", pool = ci_constants.DEFAULT_POOL, cores = 8, os = os.LINUX_DEFAULT, contact_team_email = "clank-engprod@google.com", runner = "reviver/runner", target_builders = [ polymorphic.target_builder( builder = "ci/Android x64 Builder (dbg)", dimensions = dimensions.dimensions( builderless = "", cores = "", os = os.LINUX_DEFAULT, ssd = "", free_space = "", builder = "Android x64 Builder (dbg)", ), testers = [ "ci/android-16-x64-dbg-tests", ], ), ], ) polymorphic.launcher( name = "android-desktop-x64-launcher", description_html = "Reviver launcher for Android Desktop on x64", # To avoid peak hours, we run it at 2 AM, 5 AM, 8 AM, 11AM, 2 PM UTC. schedule = "0 2,5,8,11,14 * * *", pool = ci_constants.DEFAULT_POOL, cores = 8, os = os.LINUX_DEFAULT, contact_team_email = "clank-engprod@google.com", runner = "reviver/runner", target_builders = [ polymorphic.target_builder( builder = "ci/android-desktop-x64-compile-rel", dimensions = dimensions.dimensions( builderless = "", cores = "", os = os.LINUX_DEFAULT, ssd = "", free_space = "", builder = "android-desktop-x64-compile-rel", ), testers = [ "ci/android-desktop-x64-rel-15-tests", ], ), ], ) polymorphic.launcher( name = "linux-launcher", # To avoid peak hours, we run it at 5~11 UTC, 21~27 PST. schedule = "0 5-11/3 * * *", runner = "reviver/runner", target_builders = [ polymorphic.target_builder( builder = "ci/Linux Builder", testers = [ "ci/Linux Tests", ], ), ], ) polymorphic.launcher( name = "win-launcher", # To avoid peak hours, we run it at 5~11 UTC, 21~27 PST. schedule = "0 5-11/3 * * *", runner = "reviver/runner", target_builders = [ polymorphic.target_builder( builder = "ci/Win x64 Builder", dimensions = dimensions.dimensions( builderless = True, os = os.WINDOWS_DEFAULT, cpu = cpu.X86_64, free_space = free_space.standard, ), testers = [ "ci/Win10 Tests x64", ], ), ], ) polymorphic.launcher( name = "mac-launcher", # To avoid peak hours, we run it at 5~11 UTC, 21~27 PST. schedule = "0 5-11/3 * * *", runner = "reviver/runner", target_builders = [ polymorphic.target_builder( builder = "ci/Mac Builder", dimensions = dimensions.dimensions( builderless = True, os = os.MAC_15, cpu = cpu.X86_64, ssd = True, free_space = free_space.standard, ), testers = [ "ci/Mac13 Tests", ], ), ], ) # A coordinator of slightly aggressive scheduling with effectively unlimited # test bot capacity for fuchsia. polymorphic.launcher( name = "fuchsia-coordinator", # Avoid peak hours. schedule = "0 2,4,6,8,10,12,14 * * *", pool = ci_constants.DEFAULT_POOL, os = os.LINUX_DEFAULT, runner = "reviver/runner", target_builders = [ "ci/fuchsia-arm64-cast-receiver-rel", "ci/fuchsia-x64-cast-receiver-dbg", "ci/fuchsia-x64-cast-receiver-rel", ], ) builder( name = "runner", executable = "recipe:reviver/chromium/runner", pool = ci_constants.DEFAULT_POOL, builderless = 1, os = os.LINUX_DEFAULT, cpu = cpu.X86_64, ssd = False, free_space = free_space.standard, auto_builder_dimension = False, execution_timeout = 6 * time.hour, resultdb_bigquery_exports = [ resultdb.export_test_results( bq_table = "chrome-luci-data.chromium.reviver_test_results", ), ], # TODO(crbug.com/40232487) Remove this once the reviver service account has # necessary permissions service_account = ci_constants.DEFAULT_SERVICE_ACCOUNT, ) builder( name = "coverage-runner", executable = "recipe:reviver/chromium/runner", pool = ci_constants.DEFAULT_POOL, builderless = 1, cores = 32, os = os.LINUX_DEFAULT, cpu = cpu.X86_64, ssd = True, free_space = free_space.standard, auto_builder_dimension = False, execution_timeout = 6 * time.hour, resultdb_bigquery_exports = [ resultdb.export_test_results( bq_table = "chrome-luci-data.chromium.reviver_test_results", ), ], # TODO(crbug.com/40232487) Remove this once the reviver service account has # necessary permissions service_account = ci_constants.DEFAULT_SERVICE_ACCOUNT, )