# Copyright 2020 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//branches.star", "branches") load("@chromium-luci//headers.star", "headers") load(".//project.star", "ACTIVE_MILESTONES", "settings") # TODO(gbeaty) Do something so that we we can refer to consoles in the same # project and have it automatically handle whether the console is defined. That # will prevent needing to duplicate the branch selectors. def get_header(): return headers.header( oncalls = [ headers.oncall( name = "Chromium", url = "https://chrome-ops-rotation-proxy.appspot.com/current/oncallator:chrome-build-sheriff", ), headers.oncall( name = "Chromium Branches", branch_selector = branches.selector.ALL_BRANCHES, url = "https://chrome-ops-rotation-proxy.appspot.com/current/oncallator:chrome-branch-sheriff", ) if any([s.gardener_rotation == "chrome_browser_release" for s in settings.platforms.values()]) else None, headers.oncall( name = "Android", url = "https://chrome-ops-rotation-proxy.appspot.com/current/oncallator:chrome-android-sheriff", ), headers.oncall( name = "iOS", url = "https://chrome-ops-rotation-proxy.appspot.com/current/oncallator:chrome-ios", ), headers.oncall( name = "ChromeOS", url = "https://chrome-ops-rotation-proxy.appspot.com/current/oncallator:chromeos-gardeners", ), headers.oncall( name = "Fuchsia", url = "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:chrome-fuchsia-engprod", ), headers.oncall( name = "GPU", url = "https://chrome-ops-rotation-proxy.appspot.com/current/oncallator:chrome-gpu-pixel-wrangler-weekly", ), headers.oncall( name = "ANGLE", url = "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:angle-wrangler", ), headers.oncall( name = "Trooper", branch_selector = branches.selector.ALL_BRANCHES, url = "https://chrome-ops-rotation-proxy.appspot.com/current/oncallator:chrome-ops-client-infra", show_primary_secondary_labels = True, ), ], link_groups = [ headers.link_group( name = "Builds", links = [ headers.link( text = "continuous", branch_selector = branches.selector.ALL_BRANCHES, url = "https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html", alt = "Continuous browser snapshots", ), headers.link( text = "symbols", branch_selector = branches.selector.ALL_BRANCHES, url = "https://www.chromium.org/developers/how-tos/debugging-on-windows", alt = "Windows Symbols", ), headers.link( text = "status", url = "https://chromium-status.appspot.com/", alt = "Current tree status", ), ], ), headers.link_group( name = "Dashboards", links = [ headers.link( text = "perf", branch_selector = branches.selector.ALL_BRANCHES, url = "https://chromeperf.appspot.com/", alt = "Chrome perf dashboard", ), headers.link( text = "LUCI Analysis", branch_selector = branches.selector.ALL_BRANCHES, url = "https://luci-analysis.appspot.com", alt = "New flake portal", ), ], ), headers.link_group( name = "Chromium", links = [ headers.link( text = "source", branch_selector = branches.selector.ALL_BRANCHES, url = branches.value( branch_selector = branches.selector.MAIN, value = "https://chromium.googlesource.com/chromium/src", ) or "https://chromium.googlesource.com/chromium/src/+/{}".format(settings.ref), alt = "Chromium source code repository", ), headers.link( text = "reviews", branch_selector = branches.selector.ALL_BRANCHES, url = "https://chromium-review.googlesource.com", alt = "Chromium code review tool", ), headers.link( text = "bugs", branch_selector = branches.selector.ALL_BRANCHES, url = "https://crbug.com", alt = "Chromium bug tracker", ), headers.link( text = "coverage", branch_selector = branches.selector.ALL_BRANCHES, url = "https://analysis.chromium.org/coverage/p/chromium", alt = "Chromium code coverage dashboard", ), headers.link( text = "dev", branch_selector = branches.selector.ALL_BRANCHES, url = "https://dev.chromium.org/Home", alt = "Chromium developer home page", ), headers.link( text = "support", branch_selector = branches.selector.ALL_BRANCHES, url = "https://support.google.com/chrome/#topic=7438008", alt = "Google Chrome help center", ), ], ), headers.link_group( name = "Consoles", links = [ headers.link( text = "android", branch_selector = branches.selector.ANDROID_BRANCHES, url = "/p/{}/g/chromium.android".format(settings.project), alt = "Chromium Android console", ), headers.link( text = "android.desktop", branch_selector = branches.selector.ANDROID_BRANCHES, url = "/p/{}/g/chromium.android.desktop".format(settings.project), alt = "Chromium Android Desktop console", ), headers.link( text = "angle", url = "/p/{}/g/chromium.angle".format(settings.project), alt = "Chromium ANGLE console", ), headers.link( text = "blink.infra", url = "/p/{}/g/blink.infra".format(settings.project), alt = "Chromium Blink Infra console", ), headers.link( text = "checks", url = "/p/{}/g/checks".format(settings.project), alt = "Checks console", ), headers.link( text = "chromium", branch_selector = [ branches.selector.ANDROID_BRANCHES, branches.selector.DESKTOP_BRANCHES, branches.selector.FUCHSIA_BRANCHES, ], url = "/p/{}/g/chromium".format(settings.project), alt = "Main Chromium archive console", ), headers.link( text = "chromiumos", branch_selector = branches.selector.CROS_LTS_BRANCHES, url = "/p/{}/g/chromium.chromiumos".format(settings.project), alt = "ChromiumOS console", ), headers.link( text = "clang", url = "/p/{}/g/chromium.clang".format(settings.project), alt = "Chromium Clang console", ), headers.link( text = "dawn", branch_selector = [ branches.selector.ANDROID_BRANCHES, branches.selector.DESKTOP_BRANCHES, ], url = "/p/{}/g/chromium.dawn".format(settings.project), alt = "Chromium Dawn console", ), headers.link( text = "enterprise companion", url = "/p/{}/g/chromium.enterprise_companion".format(settings.project), alt = "Chromium Enterprise Companion App console", ), headers.link( text = "flakiness", url = "/p/{}/g/chromium.flakiness".format(settings.project), alt = "Chromium Flakiness console", ), headers.link( text = "fuchsia", branch_selector = branches.selector.FUCHSIA_BRANCHES, url = "/p/{}/g/chromium.fuchsia".format(settings.project), alt = "Chromium Fuchsia console", ), headers.link( text = "fuzz", url = "/p/{}/g/chromium.fuzz".format(settings.project), alt = "Chromium Fuzz console", ), headers.link( text = "fyi", branch_selector = [ branches.selector.IOS_BRANCHES, branches.selector.LINUX_BRANCHES, ], url = "/p/{}/g/chromium.fyi".format(settings.project), alt = "Chromium FYI console", ), headers.link( text = "gpu", branch_selector = [ branches.selector.ANDROID_BRANCHES, branches.selector.DESKTOP_BRANCHES, ], url = "/p/{}/g/chromium.gpu".format(settings.project), alt = "Chromium GPU console", ), headers.link( text = "gpu.fyi", url = "/p/{}/g/chromium.gpu.fyi".format(settings.project), alt = "Chromium GPU FYI console", ), headers.link( text = "infra", url = "/p/{}/g/chromium.infra".format(settings.project), alt = "Chromium Infra console", ), headers.link( text = "linux", branch_selector = branches.selector.LINUX_BRANCHES, url = "/p/{}/g/chromium.linux".format(settings.project), alt = "Chromium Linux console", ), headers.link( text = "mac", branch_selector = branches.selector.MAC_BRANCHES, url = "/p/{}/g/chromium.mac".format(settings.project), alt = "Chromium Mac console", ), headers.link( text = "memory.fyi", url = "/p/{}/g/chromium.memory.fyi".format(settings.project), alt = "Chromium Memory FYI console", ), headers.link( text = "perf", url = "/p/chrome/g/chrome.perf/console", alt = "Chromium Perf console", ), headers.link( text = "perf.fyi", url = "/p/chrome/g/chrome.perf.fyi/console", alt = "Chromium Perf FYI console", ), headers.link( text = "swangle", url = "/p/{}/g/chromium.swangle".format(settings.project), alt = "Chromium SWANGLE console", ), headers.link( text = "updater", url = "/p/{}/g/chromium.updater".format(settings.project), alt = "Chromium Updater console", ), headers.link( text = "webrtc", url = "/p/{}/g/chromium.webrtc".format(settings.project), alt = "Chromium WebRTC console", ), headers.link( text = "win", branch_selector = branches.selector.WINDOWS_BRANCHES, url = "/p/{}/g/chromium.win".format(settings.project), alt = "Chromium Windows console", ), ], ), headers.link_group( name = "Branch Consoles", links = [ headers.link( text = milestone, url = "/p/{}/g/main/console".format(details.project), ) for milestone, details in ACTIVE_MILESTONES.items() ] + [ headers.link( text = "trunk", branch_selector = branches.selector.ALL_BRANCHES, url = "/p/chromium/g/main/console", alt = "Trunk (ToT) console", ), ], ), headers.link_group( name = "Tryservers", links = [ headers.link( text = "android", branch_selector = branches.selector.ANDROID_BRANCHES, url = "/p/{}/g/tryserver.chromium.android/builders".format(settings.project), alt = "Android", ), headers.link( text = "angle", url = "/p/{}/g/tryserver.chromium.angle/builders".format(settings.project), alt = "Angle", ), headers.link( text = "blink", branch_selector = [ branches.selector.LINUX_BRANCHES, branches.selector.WINDOWS_BRANCHES, ], url = "/p/{}/g/tryserver.blink/builders".format(settings.project), alt = "Blink", ), headers.link( text = "chrome", url = "/p/chrome/g/tryserver.chrome/builders", alt = "Chrome", ), headers.link( text = "chromiumos", branch_selector = branches.selector.CROS_LTS_BRANCHES, url = "/p/{}/g/tryserver.chromium.chromiumos/builders".format(settings.project), alt = "ChromiumOS", ), headers.link( text = "fuchsia", branch_selector = branches.selector.FUCHSIA_BRANCHES, url = "/p/{}/g/tryserver.chromium.fuchsia/builders".format(settings.project), alt = "Fuchsia", ), headers.link( text = "fuzz", url = "/p/{}/g/tryserver.chromium.fuzz/builders".format(settings.project), alt = "Fuzz", ), headers.link( text = "linux", branch_selector = branches.selector.LINUX_BRANCHES, url = "/p/{}/g/tryserver.chromium.linux/builders".format(settings.project), alt = "Linux", ), headers.link( text = "mac", branch_selector = [ branches.selector.MAC_BRANCHES, branches.selector.IOS_BRANCHES, ], url = "/p/{}/g/tryserver.chromium.mac/builders".format(settings.project), alt = "Mac", ), headers.link( text = "swangle", url = "/p/{}/g/tryserver.chromium.swangle/builders".format(settings.project), alt = "SWANGLE", ), headers.link( text = "tricium", url = "/p/{}/g/tryserver.chromium.tricium/builders".format(settings.project), alt = "Tricium", ), headers.link( text = "win", branch_selector = branches.selector.WINDOWS_BRANCHES, url = "/p/{}/g/tryserver.chromium.win/builders".format(settings.project), alt = "Win", ), ], ), headers.link_group( name = "Navigate", links = [ headers.link( text = "about", branch_selector = branches.selector.ALL_BRANCHES, url = "http://dev.chromium.org/developers/testing/chromium-build-infrastructure/tour-of-the-chromium-buildbot", alt = "Tour of the console", ), headers.link( text = "customize", branch_selector = branches.selector.ALL_BRANCHES, url = "https://chromium.googlesource.com/chromium/src/+/{}/infra/config/generated/luci/luci-milo.cfg".format(settings.ref), alt = "Customize this console", ), ], ), ], console_groups = branches.value( branch_selector = branches.selector.MAIN, value = [ headers.console_group( title = headers.link( text = "Tree Closers", url = "https://chromium-status.appspot.com/", ), console_ids = [ "chromium/chromium tree closers", "chromium/android tree closers", "chromium/chromiumos tree closers", "chromium/chromium.gpu tree closers", "chromium/ios tree closers", ], ), headers.console_group( console_ids = [ "chromium/chromium rotation", "chromium/android rotation", "chromium/cft rotation", "chrome/chrome.perf", "chromium/chromium.gpu rotation", "chromium/angle rotation", "chromium/dawn rotation", "chromium/fuchsia rotation", "chromium/ios rotation", ], ), ], ) or [ headers.console_group( branch_selector = branches.selector.ALL_BRANCHES, console_ids = ["{}/{}".format(settings.project, console) for console in [ branches.value( branch_selector = [ branches.selector.ANDROID_BRANCHES, branches.selector.DESKTOP_BRANCHES, branches.selector.FUCHSIA_BRANCHES, ], value = "chromium", ), branches.value( branch_selector = branches.selector.WINDOWS_BRANCHES, value = "chromium.win", ), branches.value( branch_selector = [ branches.selector.IOS_BRANCHES, branches.selector.MAC_BRANCHES, ], value = "chromium.mac", ), branches.value( branch_selector = branches.selector.LINUX_BRANCHES, value = "chromium.linux", ), branches.value( branch_selector = branches.selector.CROS_LTS_BRANCHES, value = "chromium.chromiumos", ), branches.value( branch_selector = branches.selector.LINUX_BRANCHES, value = "chromium.memory", ), branches.value( branch_selector = [ branches.selector.ANDROID_BRANCHES, branches.selector.DESKTOP_BRANCHES, ], value = "chromium.gpu", ), branches.value( branch_selector = branches.selector.ANDROID_BRANCHES, value = "chromium.android", ), ] if console != None], ), ], tree_status_host = "chromium-status.appspot.com" if settings.is_main else None, tree_name = "chromium" if settings.is_main else None, )