diff --git a/infra/config/generated/commit-queue.cfg b/infra/config/generated/commit-queue.cfg new file mode 100644 index 00000000..95b31824 --- /dev/null +++ b/infra/config/generated/commit-queue.cfg @@ -0,0 +1,80 @@ +# Auto-generated by lucicfg. +# Do not modify manually. +# +# For the schema of this file, see Config message: +# https://luci-config.appspot.com/schemas/projects:commit-queue.cfg + +cq_status_host: "chromium-cq-status.appspot.com" +submit_options { + max_burst: 4 + burst_delay { + seconds: 480 + } +} +config_groups { + name: "crashpad" + gerrit { + url: "https://chromium-review.googlesource.com" + projects { + name: "crashpad/crashpad" + ref_regexp: "refs/heads/.+" + } + } + verifiers { + gerrit_cq_ability { + committer_list: "project-crashpad-tryjob-access" + dry_run_access_list: "project-crashpad-tryjob-access" + } + tryjob { + builders { + name: "crashpad/try/crashpad_fuchsia_arm64_dbg" + } + builders { + name: "crashpad/try/crashpad_fuchsia_arm64_rel" + } + builders { + name: "crashpad/try/crashpad_fuchsia_x64_dbg" + } + builders { + name: "crashpad/try/crashpad_fuchsia_x64_rel" + } + builders { + name: "crashpad/try/crashpad_ios_arm64_dbg" + } + builders { + name: "crashpad/try/crashpad_ios_arm64_rel" + } + builders { + name: "crashpad/try/crashpad_ios_x64_dbg" + } + builders { + name: "crashpad/try/crashpad_ios_x64_rel" + } + builders { + name: "crashpad/try/crashpad_linux_x64_dbg" + } + builders { + name: "crashpad/try/crashpad_linux_x64_rel" + } + builders { + name: "crashpad/try/crashpad_mac_x64_dbg" + } + builders { + name: "crashpad/try/crashpad_mac_x64_rel" + } + builders { + name: "crashpad/try/crashpad_win_x64_dbg" + } + builders { + name: "crashpad/try/crashpad_win_x64_rel" + } + retry_config { + single_quota: 1 + global_quota: 2 + failure_weight: 1 + transient_failure_weight: 1 + timeout_weight: 2 + } + } + } +} diff --git a/infra/config/generated/luci-logdog.cfg b/infra/config/generated/luci-logdog.cfg new file mode 100644 index 00000000..adc75bef --- /dev/null +++ b/infra/config/generated/luci-logdog.cfg @@ -0,0 +1,9 @@ +# Auto-generated by lucicfg. +# Do not modify manually. +# +# For the schema of this file, see ProjectConfig message: +# https://luci-config.appspot.com/schemas/projects:luci-logdog.cfg + +reader_auth_groups: "all" +writer_auth_groups: "luci-logdog-chromium-writers" +archive_gs_bucket: "chromium-luci-logdog" diff --git a/infra/config/generated/luci-milo.cfg b/infra/config/generated/luci-milo.cfg new file mode 100644 index 00000000..6c891b14 --- /dev/null +++ b/infra/config/generated/luci-milo.cfg @@ -0,0 +1,131 @@ +# Auto-generated by lucicfg. +# Do not modify manually. +# +# For the schema of this file, see Project message: +# https://luci-config.appspot.com/schemas/projects:luci-milo.cfg + +consoles { + id: "main" + name: "Crashpad Main Console" + repo_url: "https://chromium.googlesource.com/crashpad/crashpad" + refs: "regexp:refs/heads/main" + manifest_name: "REVISION" + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_fuchsia_arm64_dbg" + category: "fuchsia|arm64" + short_name: "dbg" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_fuchsia_arm64_rel" + category: "fuchsia|arm64" + short_name: "rel" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_fuchsia_x64_dbg" + category: "fuchsia|x64" + short_name: "dbg" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_fuchsia_x64_rel" + category: "fuchsia|x64" + short_name: "rel" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_ios_arm64_dbg" + category: "ios|arm64" + short_name: "dbg" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_ios_arm64_rel" + category: "ios|arm64" + short_name: "rel" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_ios_x64_dbg" + category: "ios|x64" + short_name: "dbg" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_ios_x64_rel" + category: "ios|x64" + short_name: "rel" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_linux_x64_dbg" + category: "linux|x64" + short_name: "dbg" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_linux_x64_rel" + category: "linux|x64" + short_name: "rel" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_mac_x64_dbg" + category: "mac|x64" + short_name: "dbg" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_mac_x64_rel" + category: "mac|x64" + short_name: "rel" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_win_x64_dbg" + category: "win|x64" + short_name: "dbg" + } + builders { + name: "buildbucket/luci.crashpad.ci/crashpad_win_x64_rel" + category: "win|x64" + short_name: "rel" + } +} +consoles { + id: "try" + name: "Crashpad Try Builders" + builders { + name: "buildbucket/luci.crashpad.try/crashpad_fuchsia_arm64_dbg" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_fuchsia_arm64_rel" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_fuchsia_x64_dbg" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_fuchsia_x64_rel" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_ios_arm64_dbg" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_ios_arm64_rel" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_ios_x64_dbg" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_ios_x64_rel" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_linux_x64_dbg" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_linux_x64_rel" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_mac_x64_dbg" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_mac_x64_rel" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_win_x64_dbg" + } + builders { + name: "buildbucket/luci.crashpad.try/crashpad_win_x64_rel" + } + builder_view_only: true +} +logo_url: "https://storage.googleapis.com/chrome-infra-public/logo/crashpad-logo.svg" diff --git a/infra/config/generated/luci-scheduler.cfg b/infra/config/generated/luci-scheduler.cfg new file mode 100644 index 00000000..6b3d04d1 --- /dev/null +++ b/infra/config/generated/luci-scheduler.cfg @@ -0,0 +1,179 @@ +# Auto-generated by lucicfg. +# Do not modify manually. +# +# For the schema of this file, see ProjectConfig message: +# https://luci-config.appspot.com/schemas/projects:luci-scheduler.cfg + +job { + id: "crashpad_fuchsia_arm64_dbg" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_fuchsia_arm64_dbg" + } +} +job { + id: "crashpad_fuchsia_arm64_rel" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_fuchsia_arm64_rel" + } +} +job { + id: "crashpad_fuchsia_x64_dbg" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_fuchsia_x64_dbg" + } +} +job { + id: "crashpad_fuchsia_x64_rel" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_fuchsia_x64_rel" + } +} +job { + id: "crashpad_ios_arm64_dbg" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_ios_arm64_dbg" + } +} +job { + id: "crashpad_ios_arm64_rel" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_ios_arm64_rel" + } +} +job { + id: "crashpad_ios_x64_dbg" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_ios_x64_dbg" + } +} +job { + id: "crashpad_ios_x64_rel" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_ios_x64_rel" + } +} +job { + id: "crashpad_linux_x64_dbg" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_linux_x64_dbg" + } +} +job { + id: "crashpad_linux_x64_rel" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_linux_x64_rel" + } +} +job { + id: "crashpad_mac_x64_dbg" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_mac_x64_dbg" + } +} +job { + id: "crashpad_mac_x64_rel" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_mac_x64_rel" + } +} +job { + id: "crashpad_win_x64_dbg" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_win_x64_dbg" + } +} +job { + id: "crashpad_win_x64_rel" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.crashpad.ci" + builder: "crashpad_win_x64_rel" + } +} +trigger { + id: "master-gitiles-trigger" + realm: "ci" + acl_sets: "ci" + triggers: "crashpad_fuchsia_arm64_dbg" + triggers: "crashpad_fuchsia_arm64_rel" + triggers: "crashpad_fuchsia_x64_dbg" + triggers: "crashpad_fuchsia_x64_rel" + triggers: "crashpad_ios_arm64_dbg" + triggers: "crashpad_ios_arm64_rel" + triggers: "crashpad_ios_x64_dbg" + triggers: "crashpad_ios_x64_rel" + triggers: "crashpad_linux_x64_dbg" + triggers: "crashpad_linux_x64_rel" + triggers: "crashpad_mac_x64_dbg" + triggers: "crashpad_mac_x64_rel" + triggers: "crashpad_win_x64_dbg" + triggers: "crashpad_win_x64_rel" + gitiles { + repo: "https://chromium.googlesource.com/crashpad/crashpad" + refs: "regexp:refs/heads/main" + } +} +acl_sets { + name: "ci" + acls { + role: OWNER + granted_to: "group:project-crashpad-admins" + } + acls { + granted_to: "group:all" + } +} diff --git a/infra/config/generated/realms.cfg b/infra/config/generated/realms.cfg index 41377301..8dc05f6b 100644 --- a/infra/config/generated/realms.cfg +++ b/infra/config/generated/realms.cfg @@ -18,6 +18,14 @@ realms { role: "role/logdog.reader" principals: "group:all" } + bindings { + role: "role/logdog.writer" + principals: "group:luci-logdog-chromium-writers" + } + bindings { + role: "role/scheduler.owner" + principals: "group:project-crashpad-admins" + } bindings { role: "role/scheduler.reader" principals: "group:all" diff --git a/infra/config/main.star b/infra/config/main.star index fb8af223..632bcec7 100755 --- a/infra/config/main.star +++ b/infra/config/main.star @@ -21,6 +21,8 @@ lucicfg.enable_experiment("crbug.com/1085650") # Launch 100% of Swarming tasks for builds in "realms-aware mode". luci.builder.defaults.experiments.set({"luci.use_realms": 100}) +REPO_URL = "https://chromium.googlesource.com/crashpad/crashpad" +REVIEW_URL = "https://chromium-review.googlesource.com/crashpad/crashpad" luci.project( name = "crashpad", @@ -36,7 +38,71 @@ luci.project( ], groups = "all", ), + acl.entry( + roles = acl.LOGDOG_WRITER, + groups = "luci-logdog-chromium-writers", + ), + acl.entry( + roles = acl.SCHEDULER_OWNER, + groups = "project-crashpad-admins", + ), ], + logdog = "luci-logdog.appspot.com", + milo = "luci-milo.appspot.com", + scheduler = "luci-scheduler.appspot.com", +) + +luci.cq( + status_host = "chromium-cq-status.appspot.com", + submit_max_burst = 4, + submit_burst_delay = 8 * time.minute, +) + +luci.cq_group( + name = "crashpad", + watch = cq.refset(repo = REVIEW_URL, refs = ["refs/heads/.+"]), + retry_config = cq.retry_config( + single_quota = 1, + global_quota = 2, + failure_weight = 1, + transient_failure_weight = 1, + timeout_weight = 2, + ), + acls = [ + acl.entry( + roles = acl.CQ_COMMITTER, + groups = "project-crashpad-tryjob-access", + ), + acl.entry( + roles = acl.CQ_DRY_RUNNER, + groups = "project-crashpad-tryjob-access", + ), + ], +) + +luci.gitiles_poller( + name = "master-gitiles-trigger", + bucket = "ci", + repo = REPO_URL, +) + +luci.logdog( + gs_bucket = "chromium-luci-logdog", +) + +luci.milo( + logo = "https://storage.googleapis.com/chrome-infra-public/logo/crashpad-logo.svg", +) + +luci.console_view( + name = "main", + repo = REPO_URL, + title = "Crashpad Main Console", +) + +luci.list_view( + name = "try", + title = "Crashpad Try Builders", ) luci.bucket( @@ -131,8 +197,29 @@ def crashpad_properties(platform, cpu, config, bucket): return properties def crashpad_builder(platform, cpu, config, bucket): + name = "_".join(["crashpad", platform, cpu, config]) + triggered_by = None + + if bucket == "ci": + luci.console_view_entry( + builder = "ci/" + name, + console_view = "main", + short_name = config, + category = platform + "|" + cpu, + ) + triggered_by = ["master-gitiles-trigger"] + elif bucket == "try": + luci.list_view_entry( + builder = "try/" + name, + list_view = "try", + ) + luci.cq_tryjob_verifier( + "try/" + name, + cq_group = "crashpad", + ) + return luci.builder( - name = "_".join(["crashpad", platform, cpu, config]), + name = name, bucket = bucket, executable = crashpad_recipe(), build_numbers = True, @@ -140,8 +227,8 @@ def crashpad_builder(platform, cpu, config, bucket): dimensions = crashpad_dimensions(platform, bucket), execution_timeout = 3 * time.hour, properties = crashpad_properties(platform, cpu, config, bucket), - service_account = "crashpad-" + bucket + - "-builder@chops-service-accounts.iam.gserviceaccount.com", + service_account = "crashpad-" + bucket + "-builder@chops-service-accounts.iam.gserviceaccount.com", + triggered_by = triggered_by, ) crashpad_builder("fuchsia", "arm64", "dbg", "ci")