1# Copyright 2020 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5load("//lib/branches.star", "branches")
6load("//lib/builders.star", "builder_name", "cpu", "goma", "os", "xcode")
7load("//lib/ci.star", "ci")
8load("//lib/consoles.star", "consoles")
9load("//console-header.star", "HEADER")
10load("//project.star", "settings")
11
12def main_console_if_on_branch():
13    return branches.value(for_branches = "main")
14
15ci.defaults.set(
16    bucket = "ci",
17    build_numbers = True,
18    configure_kitchen = True,
19    cores = 8,
20    cpu = cpu.X86_64,
21    executable = "recipe:chromium",
22    execution_timeout = 3 * time.hour,
23    os = os.LINUX_DEFAULT,
24    pool = "luci.chromium.ci",
25    project_trigger_overrides = branches.value(for_branches = {"chromium": settings.project}),
26    service_account = "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
27    swarming_tags = ["vpython:native-python-wrapper"],
28    triggered_by = ["chromium-gitiles-trigger"],
29    # TODO(crbug.com/1129723): set default goma_backend here.
30)
31
32consoles.defaults.set(
33    header = HEADER,
34    repo = "https://chromium.googlesource.com/chromium/src",
35    refs = [settings.ref],
36)
37
38luci.bucket(
39    name = "ci",
40    acls = [
41        acl.entry(
42            roles = acl.BUILDBUCKET_READER,
43            groups = "all",
44        ),
45        acl.entry(
46            roles = acl.BUILDBUCKET_TRIGGERER,
47            groups = "project-chromium-ci-schedulers",
48        ),
49        acl.entry(
50            roles = acl.BUILDBUCKET_OWNER,
51            groups = "google/luci-task-force@google.com",
52        ),
53    ],
54)
55
56luci.gitiles_poller(
57    name = "chromium-gitiles-trigger",
58    bucket = "ci",
59    repo = "https://chromium.googlesource.com/chromium/src",
60    refs = [settings.ref],
61)
62
63# Automatically maintained consoles
64
65[consoles.overview_console_view(
66    name = name,
67    repo = "https://chromium.googlesource.com/chromium/src",
68    refs = [settings.ref],
69    title = title,
70    top_level_ordering = [
71        "chromium",
72        "chromium.win",
73        "chromium.mac",
74        "chromium.linux",
75        "chromium.chromiumos",
76        "chromium.android",
77        "chrome",
78        "chromium.memory",
79        "chromium.dawn",
80        "chromium.gpu",
81        "chromium.fyi",
82        "chromium.android.fyi",
83        "chromium.clang",
84        "chromium.fuzz",
85        "chromium.gpu.fyi",
86        "chromium.swangle",
87        "chromium.updater",
88    ],
89) for name, title in (
90    ("main", settings.main_console_title),
91    ("mirrors", settings.cq_mirrors_console_title),
92)]
93
94consoles.console_view(
95    name = "chromium",
96    branch_selector = branches.STANDARD_MILESTONE,
97    include_experimental_builds = True,
98    ordering = {
99        "*type*": consoles.ordering(short_names = ["dbg", "rel", "off"]),
100        "android": "*type*",
101        "fuchsia": "*type*",
102        "linux": "*type*",
103        "mac": "*type*",
104        "win": "*type*",
105    },
106)
107
108consoles.console_view(
109    name = "chromium.android",
110    branch_selector = branches.STANDARD_MILESTONE,
111    ordering = {
112        None: ["cronet", "builder", "tester"],
113        "*cpu*": ["arm", "arm64", "x86"],
114        "cronet": "*cpu*",
115        "builder": "*cpu*",
116        "builder|det": consoles.ordering(short_names = ["rel", "dbg"]),
117        "tester": ["phone", "tablet"],
118        "builder_tester|arm64": consoles.ordering(short_names = ["M proguard"]),
119    },
120)
121
122consoles.console_view(
123    name = "chromium.android.fyi",
124    ordering = {
125        None: ["android", "memory", "weblayer", "webview"],
126    },
127)
128
129consoles.console_view(
130    name = "chromium.chromiumos",
131    branch_selector = branches.ALL_BRANCHES,
132    ordering = {
133        None: ["default"],
134        "default": consoles.ordering(short_names = ["ful", "rel"]),
135        "simple": ["release", "debug"],
136    },
137)
138
139consoles.console_view(
140    name = "chromium.clang",
141    ordering = {
142        None: [
143            "ToT Linux",
144            "ToT Android",
145            "ToT Mac",
146            "ToT Windows",
147            "ToT Code Coverage",
148        ],
149        "ToT Linux": consoles.ordering(
150            short_names = ["rel", "ofi", "dbg", "asn", "fuz", "msn", "tsn"],
151        ),
152        "ToT Android": consoles.ordering(short_names = ["rel", "dbg", "x64"]),
153        "ToT Mac": consoles.ordering(short_names = ["rel", "ofi", "dbg"]),
154        "ToT Windows": consoles.ordering(
155            short_names = ["rel", "ofi"],
156            categories = ["x64"],
157        ),
158        "ToT Windows|x64": consoles.ordering(short_names = ["rel"]),
159        "CFI|Win": consoles.ordering(short_names = ["x86", "x64"]),
160        "iOS": ["public"],
161        "iOS|public": consoles.ordering(short_names = ["sim", "dev"]),
162    },
163)
164
165consoles.console_view(
166    name = "chromium.dawn",
167    branch_selector = branches.STANDARD_MILESTONE,
168    ordering = {
169        None: ["ToT"],
170        "*builder*": ["Builder"],
171        "*cpu*": consoles.ordering(short_names = ["x86"]),
172        "ToT|Mac": "*builder*",
173        "ToT|Windows|Builder": "*cpu*",
174        "ToT|Windows|Intel": "*cpu*",
175        "ToT|Windows|Nvidia": "*cpu*",
176        "DEPS|Mac": "*builder*",
177        "DEPS|Windows|Builder": "*cpu*",
178        "DEPS|Windows|Intel": "*cpu*",
179        "DEPS|Windows|Nvidia": "*cpu*",
180    },
181)
182
183consoles.console_view(
184    name = "chromium.fyi",
185    branch_selector = branches.STANDARD_MILESTONE,
186    ordering = {
187        None: [
188            "code_coverage",
189            "cronet",
190            "mac",
191            "deterministic",
192            "fuchsia",
193            "chromeos",
194            "iOS",
195            "linux",
196            "recipe",
197            "remote_run",
198            "site_isolation",
199            "network",
200            "viz",
201            "win10",
202            "win32",
203            "paeverywhere",
204        ],
205        "code_coverage": consoles.ordering(
206            short_names = ["and", "ann", "lnx", "lcr", "jcr", "mac"],
207        ),
208        "mac": consoles.ordering(short_names = ["bld", "15", "herm"]),
209        "deterministic|mac": consoles.ordering(short_names = ["rel", "dbg"]),
210        "iOS|iOS13": consoles.ordering(short_names = ["dev", "sim"]),
211        "linux|blink": consoles.ordering(short_names = ["TD"]),
212    },
213)
214
215consoles.console_view(
216    name = "chromium.fuzz",
217    ordering = {
218        None: [
219            "afl",
220            "win asan",
221            "mac asan",
222            "cros asan",
223            "linux asan",
224            "libfuzz",
225            "linux msan",
226            "linux tsan",
227        ],
228        "*config*": consoles.ordering(short_names = ["dbg", "rel"]),
229        "win asan": "*config*",
230        "mac asan": "*config*",
231        "linux asan": "*config*",
232        "linux asan|x64 v8-ARM": "*config*",
233        "libfuzz": consoles.ordering(short_names = [
234            "chromeos-asan",
235            "linux32",
236            "linux32-dbg",
237            "linux",
238            "linux-dbg",
239            "linux-msan",
240            "linux-ubsan",
241            "mac-asan",
242            "win-asan",
243        ]),
244    },
245)
246
247consoles.console_view(
248    name = "chromium.gpu",
249    branch_selector = branches.STANDARD_MILESTONE,
250    ordering = {
251        None: ["Windows", "Mac", "Linux"],
252    },
253)
254
255consoles.console_view(
256    name = "chromium.gpu.fyi",
257    ordering = {
258        None: ["Windows", "Mac", "Linux"],
259        "*builder*": ["Builder"],
260        "*type*": consoles.ordering(short_names = ["rel", "dbg", "exp"]),
261        "*cpu*": consoles.ordering(short_names = ["x86"]),
262        "Windows": "*builder*",
263        "Windows|Builder": ["Release", "dEQP", "dx12vk", "Debug"],
264        "Windows|Builder|Release": "*cpu*",
265        "Windows|Builder|dEQP": "*cpu*",
266        "Windows|Builder|dx12vk": "*type*",
267        "Windows|Builder|Debug": "*cpu*",
268        "Windows|10|x64|Intel": "*type*",
269        "Windows|10|x64|Nvidia": "*type*",
270        "Windows|10|x86|Nvidia": "*type*",
271        "Windows|7|x64|Nvidia": "*type*",
272        "Mac": "*builder*",
273        "Mac|Builder": "*type*",
274        "Mac|AMD|Retina": "*type*",
275        "Mac|Intel": "*type*",
276        "Mac|Nvidia": "*type*",
277        "Linux": "*builder*",
278        "Linux|Builder": "*type*",
279        "Linux|Intel": "*type*",
280        "Linux|Nvidia": "*type*",
281        "Android": ["L32", "M64", "N64", "P32", "vk", "dqp", "skgl", "skv"],
282        "Android|M64": ["QCOM"],
283    },
284)
285
286consoles.console_view(
287    name = "chromium.linux",
288    branch_selector = branches.STANDARD_MILESTONE,
289    ordering = {
290        None: ["release", "debug"],
291        "release": consoles.ordering(short_names = ["bld", "tst", "nsl", "gcc"]),
292        "cast": consoles.ordering(short_names = ["vid", "aud"]),
293    },
294)
295
296consoles.console_view(
297    name = "chromium.mac",
298    branch_selector = branches.STANDARD_MILESTONE,
299    ordering = {
300        None: ["release"],
301        "release": consoles.ordering(short_names = ["bld"]),
302        "debug": consoles.ordering(short_names = ["bld"]),
303        "ios|default": consoles.ordering(short_names = ["dev", "sim"]),
304    },
305)
306
307consoles.console_view(
308    name = "chromium.memory",
309    branch_selector = branches.STANDARD_MILESTONE,
310    ordering = {
311        None: ["win", "mac", "linux", "cros"],
312        "*build-or-test*": consoles.ordering(short_names = ["bld", "tst"]),
313        "linux|TSan v2": "*build-or-test*",
314        "linux|asan lsan": "*build-or-test*",
315        "linux|webkit": consoles.ordering(short_names = ["asn", "msn"]),
316    },
317)
318
319consoles.console_view(
320    name = "chromium.mojo",
321)
322
323consoles.console_view(
324    name = "chromium.swangle",
325    ordering = {
326        None: ["DEPS", "ToT ANGLE", "ToT SwiftShader"],
327        "*os*": ["Windows", "Mac"],
328        "*cpu*": consoles.ordering(short_names = ["x86", "x64"]),
329        "DEPS": "*os*",
330        "DEPS|Windows": "*cpu*",
331        "DEPS|Linux": "*cpu*",
332        "ToT ANGLE": "*os*",
333        "ToT ANGLE|Windows": "*cpu*",
334        "ToT ANGLE|Linux": "*cpu*",
335        "ToT SwiftShader": "*os*",
336        "ToT SwiftShader|Windows": "*cpu*",
337        "ToT SwiftShader|Linux": "*cpu*",
338        "Chromium": "*os*",
339    },
340)
341
342consoles.console_view(
343    name = "chromium.updater",
344)
345
346consoles.console_view(
347    name = "chromium.win",
348    branch_selector = branches.STANDARD_MILESTONE,
349    ordering = {
350        None: ["release", "debug"],
351        "debug|builder": consoles.ordering(short_names = ["64", "32"]),
352        "debug|tester": consoles.ordering(short_names = ["7", "10"]),
353    },
354)
355
356# The chromium.clang console includes some entries for builders from the chrome project
357[branches.console_view_entry(
358    builder = "chrome:ci/{}".format(name),
359    console_view = "chromium.clang",
360    category = category,
361    short_name = short_name,
362) for name, category, short_name in (
363    ("ToTLinuxOfficial", "ToT Linux", "ofi"),
364    ("ToTMacOfficial", "ToT Mac", "ofi"),
365    ("ToTWin", "ToT Windows", "rel"),
366    ("ToTWin64", "ToT Windows|x64", "rel"),
367    ("ToTWinOfficial", "ToT Windows", "ofi"),
368    ("ToTWinThinLTO64", "ToT Windows|x64", "lto"),
369    ("clang-tot-device", "iOS|internal", "dev"),
370)]
371
372# The main console includes some entries for builders from the chrome project
373[branches.console_view_entry(
374    builder = "chrome:ci/{}".format(name),
375    console_view = "main",
376    category = "chrome",
377    short_name = short_name,
378) for name, short_name in (
379    ("lacros-chrome", "lcr"),
380    ("linux-chromeos-chrome", "cro"),
381    ("linux-chrome", "lnx"),
382    ("mac-chrome", "mac"),
383    ("win-chrome", "win"),
384    ("win64-chrome", "win"),
385)]
386
387# Builders are sorted first lexicographically by the function used to define
388# them, then lexicographically by their name
389
390ci.builder(
391    name = "android-androidx-packager",
392    executable = "recipe:android/androidx_packager",
393    schedule = "0 7,14,22 * * * *",
394    service_account = "chromium-cipd-builder@chops-service-accounts.iam.gserviceaccount.com",
395    triggered_by = [],
396)
397
398ci.builder(
399    name = "android-avd-packager",
400    executable = "recipe:android/avd_packager",
401    properties = {
402        "avd_configs": [
403            "tools/android/avd/proto/creation/generic_android23.textpb",
404            "tools/android/avd/proto/creation/generic_android28.textpb",
405            "tools/android/avd/proto/creation/generic_android29.textpb",
406            "tools/android/avd/proto/creation/generic_android30.textpb",
407            "tools/android/avd/proto/creation/generic_playstore_android28.textpb",
408            "tools/android/avd/proto/creation/generic_playstore_android30.textpb",
409        ],
410    },
411    schedule = "0 7 * * 0 *",
412    service_account = "chromium-cipd-builder@chops-service-accounts.iam.gserviceaccount.com",
413    triggered_by = [],
414)
415
416ci.builder(
417    name = "android-sdk-packager",
418    executable = "recipe:android/sdk_packager",
419    schedule = "0 7 * * 0 *",
420    service_account = "chromium-cipd-builder@chops-service-accounts.iam.gserviceaccount.com",
421    triggered_by = [],
422    properties = {
423        # We still package part of build-tools;25.0.2 to support
424        # http://bit.ly/2KNUygZ
425        "packages": [
426            {
427                "sdk_package_name": "build-tools;25.0.2",
428                "cipd_yaml": "third_party/android_sdk/cipd/build-tools/25.0.2.yaml",
429            },
430            {
431                "sdk_package_name": "build-tools;29.0.2",
432                "cipd_yaml": "third_party/android_sdk/cipd/build-tools/29.0.2.yaml",
433            },
434            {
435                "sdk_package_name": "build-tools;30.0.1",
436                "cipd_yaml": "third_party/android_sdk/cipd/build-tools/30.0.1.yaml",
437            },
438            {
439                "sdk_package_name": "cmdline-tools;latest",
440                "cipd_yaml": "third_party/android_sdk/cipd/cmdline-tools.yaml",
441            },
442            {
443                "sdk_package_name": "emulator",
444                "cipd_yaml": "third_party/android_sdk/cipd/emulator.yaml",
445            },
446            {
447                "sdk_package_name": "extras;google;gcm",
448                "cipd_yaml": "third_party/android_sdk/cipd/extras/google/gcm.yaml",
449            },
450            {
451                "sdk_package_name": "patcher;v4",
452                "cipd_yaml": "third_party/android_sdk/cipd/patcher/v4.yaml",
453            },
454            {
455                "sdk_package_name": "platforms;android-29",
456                "cipd_yaml": "third_party/android_sdk/cipd/platforms/android-29.yaml",
457            },
458            {
459                "sdk_package_name": "platforms;android-30",
460                "cipd_yaml": "third_party/android_sdk/cipd/platforms/android-30.yaml",
461            },
462            {
463                "sdk_package_name": "platform-tools",
464                "cipd_yaml": "third_party/android_sdk/cipd/platform-tools.yaml",
465            },
466            {
467                "sdk_package_name": "sources;android-29",
468                "cipd_yaml": "third_party/android_sdk/cipd/sources/android-29.yaml",
469            },
470            # Not yet available as R is not released to AOSP.
471            #{
472            #    'sdk_package_name': 'sources;android-30',
473            #    'cipd_yaml': 'third_party/android_sdk/cipd/sources/android-30.yaml'
474            #},
475            {
476                "sdk_package_name": "system-images;android-29;google_apis;x86",
477                "cipd_yaml": "third_party/android_sdk/cipd/system_images/android-29/google_apis/x86.yaml",
478            },
479            {
480                "sdk_package_name": "system-images;android-29;google_apis_playstore;x86",
481                "cipd_yaml": "third_party/android_sdk/cipd/system_images/android-29/google_apis_playstore/x86.yaml",
482            },
483            {
484                "sdk_package_name": "system-images;android-30;google_apis;x86",
485                "cipd_yaml": "third_party/android_sdk/cipd/system_images/android-30/google_apis/x86.yaml",
486            },
487            {
488                "sdk_package_name": "system-images;android-30;google_apis_playstore;x86",
489                "cipd_yaml": "third_party/android_sdk/cipd/system_images/android-30/google_apis_playstore/x86.yaml",
490            },
491        ],
492    },
493)
494
495ci.android_builder(
496    name = "Android ASAN (dbg)",
497    console_view_entry = consoles.console_view_entry(
498        category = "builder|arm",
499        short_name = "san",
500    ),
501    # Higher build timeout since dbg ASAN builds can take a while on a clobber
502    # build.
503    execution_timeout = 4 * time.hour,
504    tree_closing = True,
505)
506
507ci.android_builder(
508    name = "Android WebView L (dbg)",
509    console_view_entry = consoles.console_view_entry(
510        category = "tester|webview",
511        short_name = "L",
512    ),
513    triggered_by = ["ci/Android arm Builder (dbg)"],
514)
515
516ci.android_builder(
517    name = "Android WebView M (dbg)",
518    branch_selector = branches.STANDARD_MILESTONE,
519    console_view_entry = consoles.console_view_entry(
520        category = "tester|webview",
521        short_name = "M",
522    ),
523    cq_mirrors_console_view = "mirrors",
524    main_console_view = main_console_if_on_branch(),
525    triggered_by = [builder_name("Android arm64 Builder (dbg)")],
526)
527
528ci.android_builder(
529    name = "Android WebView N (dbg)",
530    branch_selector = branches.STANDARD_MILESTONE,
531    console_view_entry = consoles.console_view_entry(
532        category = "tester|webview",
533        short_name = "N",
534    ),
535    cq_mirrors_console_view = "mirrors",
536    main_console_view = main_console_if_on_branch(),
537    triggered_by = [builder_name("Android arm64 Builder (dbg)")],
538)
539
540ci.android_builder(
541    name = "Android WebView O (dbg)",
542    branch_selector = branches.STANDARD_MILESTONE,
543    console_view_entry = consoles.console_view_entry(
544        category = "tester|webview",
545        short_name = "O",
546    ),
547    cq_mirrors_console_view = "mirrors",
548    main_console_view = main_console_if_on_branch(),
549    triggered_by = [builder_name("Android arm64 Builder (dbg)")],
550)
551
552ci.android_builder(
553    name = "Android WebView P (dbg)",
554    branch_selector = branches.STANDARD_MILESTONE,
555    console_view_entry = consoles.console_view_entry(
556        category = "tester|webview",
557        short_name = "P",
558    ),
559    cq_mirrors_console_view = "mirrors",
560    main_console_view = main_console_if_on_branch(),
561    triggered_by = [builder_name("Android arm64 Builder (dbg)")],
562)
563
564ci.android_builder(
565    name = "Android arm Builder (dbg)",
566    branch_selector = branches.STANDARD_MILESTONE,
567    console_view_entry = consoles.console_view_entry(
568        category = "builder|arm",
569        short_name = "32",
570    ),
571    cq_mirrors_console_view = "mirrors",
572    execution_timeout = 4 * time.hour,
573    main_console_view = main_console_if_on_branch(),
574    tree_closing = True,
575)
576
577ci.android_builder(
578    name = "Android arm64 Builder (dbg)",
579    branch_selector = branches.STANDARD_MILESTONE,
580    console_view_entry = consoles.console_view_entry(
581        category = "builder|arm",
582        short_name = "64",
583    ),
584    cq_mirrors_console_view = "mirrors",
585    goma_jobs = goma.jobs.MANY_JOBS_FOR_CI,
586    execution_timeout = 5 * time.hour,
587    main_console_view = main_console_if_on_branch(),
588    tree_closing = True,
589)
590
591ci.android_builder(
592    name = "Android x64 Builder (dbg)",
593    branch_selector = branches.STANDARD_MILESTONE,
594    console_view_entry = consoles.console_view_entry(
595        category = "builder|x86",
596        short_name = "64",
597    ),
598    cq_mirrors_console_view = "mirrors",
599    execution_timeout = 5 * time.hour,
600    main_console_view = main_console_if_on_branch(),
601)
602
603ci.android_builder(
604    name = "Android x86 Builder (dbg)",
605    branch_selector = branches.STANDARD_MILESTONE,
606    console_view_entry = consoles.console_view_entry(
607        category = "builder|x86",
608        short_name = "32",
609    ),
610    cq_mirrors_console_view = "mirrors",
611    execution_timeout = 4 * time.hour,
612    main_console_view = main_console_if_on_branch(),
613)
614
615ci.android_builder(
616    name = "Cast Android (dbg)",
617    branch_selector = branches.STANDARD_MILESTONE,
618    console_view_entry = consoles.console_view_entry(
619        category = "on_cq",
620        short_name = "cst",
621    ),
622    cq_mirrors_console_view = "mirrors",
623    main_console_view = main_console_if_on_branch(),
624    tree_closing = True,
625)
626
627ci.android_builder(
628    name = "Deterministic Android",
629    console_view_entry = consoles.console_view_entry(
630        category = "builder|det",
631        short_name = "rel",
632    ),
633    executable = "recipe:swarming/deterministic_build",
634    execution_timeout = 6 * time.hour,
635    notifies = ["Deterministic Android"],
636    tree_closing = True,
637)
638
639ci.android_builder(
640    name = "Deterministic Android (dbg)",
641    console_view_entry = consoles.console_view_entry(
642        category = "builder|det",
643        short_name = "dbg",
644    ),
645    executable = "recipe:swarming/deterministic_build",
646    execution_timeout = 6 * time.hour,
647    notifies = ["Deterministic Android"],
648    tree_closing = True,
649)
650
651ci.android_builder(
652    name = "Lollipop Phone Tester",
653    console_view_entry = consoles.console_view_entry(
654        category = "tester|phone",
655        short_name = "L",
656    ),
657    # We have limited phone capacity and thus limited ability to run
658    # tests in parallel, hence the high timeout.
659    execution_timeout = 6 * time.hour,
660    triggered_by = ["ci/Android arm Builder (dbg)"],
661)
662
663ci.android_builder(
664    name = "Lollipop Tablet Tester",
665    console_view_entry = consoles.console_view_entry(
666        category = "tester|tablet",
667        short_name = "L",
668    ),
669    # We have limited tablet capacity and thus limited ability to run
670    # tests in parallel, hence the high timeout.
671    execution_timeout = 20 * time.hour,
672    triggered_by = ["ci/Android arm Builder (dbg)"],
673)
674
675ci.android_builder(
676    name = "Marshmallow 64 bit Tester",
677    branch_selector = branches.STANDARD_MILESTONE,
678    console_view_entry = consoles.console_view_entry(
679        category = "tester|phone",
680        short_name = "M",
681    ),
682    cq_mirrors_console_view = "mirrors",
683    main_console_view = main_console_if_on_branch(),
684    triggered_by = [builder_name("Android arm64 Builder (dbg)")],
685)
686
687ci.android_builder(
688    name = "Marshmallow Tablet Tester",
689    console_view_entry = consoles.console_view_entry(
690        category = "tester|tablet",
691        short_name = "M",
692    ),
693    # We have limited tablet capacity and thus limited ability to run
694    # tests in parallel, hence the high timeout.
695    execution_timeout = 12 * time.hour,
696    triggered_by = ["ci/Android arm Builder (dbg)"],
697)
698
699ci.android_builder(
700    name = "Nougat Phone Tester",
701    branch_selector = branches.STANDARD_MILESTONE,
702    console_view_entry = consoles.console_view_entry(
703        category = "tester|phone",
704        short_name = "N",
705    ),
706    cq_mirrors_console_view = "mirrors",
707    main_console_view = main_console_if_on_branch(),
708    triggered_by = [builder_name("Android arm64 Builder (dbg)")],
709)
710
711ci.android_builder(
712    name = "Oreo Phone Tester",
713    branch_selector = branches.STANDARD_MILESTONE,
714    console_view_entry = consoles.console_view_entry(
715        category = "tester|phone",
716        short_name = "O",
717    ),
718    cq_mirrors_console_view = "mirrors",
719    main_console_view = main_console_if_on_branch(),
720    triggered_by = [builder_name("Android arm64 Builder (dbg)")],
721)
722
723ci.android_builder(
724    name = "android-10-arm64-rel",
725    console_view_entry = consoles.console_view_entry(
726        category = "builder_tester|arm64",
727        short_name = "10",
728    ),
729)
730
731ci.android_builder(
732    name = "android-arm64-proguard-rel",
733    console_view_entry = consoles.console_view_entry(
734        category = "builder_tester|arm64",
735        short_name = "M proguard",
736    ),
737    goma_jobs = goma.jobs.MANY_JOBS_FOR_CI,
738    execution_timeout = 6 * time.hour,
739)
740
741ci.android_builder(
742    name = "android-bfcache-rel",
743    console_view_entry = consoles.console_view_entry(
744        category = "bfcache",
745        short_name = "bfc",
746    ),
747)
748
749ci.android_builder(
750    name = "android-binary-size-generator",
751    executable = "recipe:binary_size_generator_tot",
752    console_view_entry = consoles.console_view_entry(
753        category = "builder|other",
754        short_name = "size",
755    ),
756)
757
758ci.android_builder(
759    name = "android-cronet-arm-dbg",
760    branch_selector = branches.STANDARD_MILESTONE,
761    console_view_entry = consoles.console_view_entry(
762        category = "cronet|arm",
763        short_name = "dbg",
764    ),
765    cq_mirrors_console_view = "mirrors",
766    main_console_view = main_console_if_on_branch(),
767    notifies = ["cronet"],
768)
769
770ci.android_builder(
771    name = "android-cronet-arm-rel",
772    branch_selector = branches.STANDARD_MILESTONE,
773    console_view_entry = consoles.console_view_entry(
774        category = "cronet|arm",
775        short_name = "rel",
776    ),
777    cq_mirrors_console_view = "mirrors",
778    main_console_view = main_console_if_on_branch(),
779    notifies = ["cronet"],
780)
781
782ci.android_builder(
783    name = "android-cronet-arm64-dbg",
784    console_view_entry = consoles.console_view_entry(
785        category = "cronet|arm64",
786        short_name = "dbg",
787    ),
788    notifies = ["cronet"],
789)
790
791ci.android_builder(
792    name = "android-cronet-arm64-rel",
793    console_view_entry = consoles.console_view_entry(
794        category = "cronet|arm64",
795        short_name = "rel",
796    ),
797    notifies = ["cronet"],
798)
799
800ci.android_builder(
801    name = "android-cronet-asan-arm-rel",
802    console_view_entry = consoles.console_view_entry(
803        category = "cronet|asan",
804    ),
805    notifies = ["cronet"],
806)
807
808ci.android_builder(
809    name = "android-cronet-arm-rel-kitkat-tests",
810    branch_selector = branches.STANDARD_MILESTONE,
811    console_view_entry = consoles.console_view_entry(
812        category = "cronet|test",
813        short_name = "k",
814    ),
815    cq_mirrors_console_view = "mirrors",
816    main_console_view = main_console_if_on_branch(),
817    notifies = ["cronet"],
818    triggered_by = [builder_name("android-cronet-arm-rel")],
819)
820
821ci.android_builder(
822    name = "android-cronet-arm-rel-lollipop-tests",
823    branch_selector = branches.STANDARD_MILESTONE,
824    console_view_entry = consoles.console_view_entry(
825        category = "cronet|test",
826        short_name = "l",
827    ),
828    cq_mirrors_console_view = "mirrors",
829    main_console_view = main_console_if_on_branch(),
830    notifies = ["cronet"],
831    triggered_by = [builder_name("android-cronet-arm-rel")],
832)
833
834# Runs on a specific machine with an attached phone
835ci.android_builder(
836    name = "android-cronet-marshmallow-arm64-perf-rel",
837    console_view_entry = consoles.console_view_entry(
838        category = "cronet|test|perf",
839        short_name = "m",
840    ),
841    cores = None,
842    cpu = None,
843    executable = "recipe:cronet",
844    notifies = ["cronet"],
845    os = os.ANDROID,
846)
847
848ci.android_builder(
849    name = "android-cronet-arm64-rel-marshmallow-tests",
850    console_view_entry = consoles.console_view_entry(
851        category = "cronet|test",
852        short_name = "m",
853    ),
854    notifies = ["cronet"],
855    triggered_by = ["android-cronet-arm64-rel"],
856)
857
858ci.android_builder(
859    name = "android-cronet-x86-dbg",
860    console_view_entry = consoles.console_view_entry(
861        category = "cronet|x86",
862        short_name = "dbg",
863    ),
864    notifies = ["cronet"],
865)
866
867ci.android_builder(
868    name = "android-cronet-x86-rel",
869    console_view_entry = consoles.console_view_entry(
870        category = "cronet|x86",
871        short_name = "rel",
872    ),
873    notifies = ["cronet"],
874)
875
876ci.android_builder(
877    name = "android-incremental-dbg",
878    console_view_entry = consoles.console_view_entry(
879        category = "tester|incremental",
880    ),
881)
882
883ci.android_builder(
884    name = "android-lollipop-arm-rel",
885    branch_selector = branches.STANDARD_MILESTONE,
886    console_view_entry = consoles.console_view_entry(
887        category = "on_cq",
888        short_name = "L",
889    ),
890    cq_mirrors_console_view = "mirrors",
891    main_console_view = main_console_if_on_branch(),
892    tree_closing = True,
893)
894
895ci.android_builder(
896    name = "android-marshmallow-arm64-rel",
897    branch_selector = branches.STANDARD_MILESTONE,
898    console_view_entry = consoles.console_view_entry(
899        category = "on_cq",
900        short_name = "M",
901    ),
902    cq_mirrors_console_view = "mirrors",
903    main_console_view = main_console_if_on_branch(),
904    tree_closing = True,
905)
906
907ci.android_builder(
908    name = "android-marshmallow-x86-rel",
909    branch_selector = branches.STANDARD_MILESTONE,
910    console_view_entry = consoles.console_view_entry(
911        category = "builder_tester|x86",
912        short_name = "M",
913    ),
914    cq_mirrors_console_view = "mirrors",
915    main_console_view = main_console_if_on_branch(),
916)
917
918ci.android_builder(
919    name = "android-marshmallow-x86-rel-non-cq",
920    console_view_entry = consoles.console_view_entry(
921        category = "builder_tester|x86",
922        short_name = "M_non-cq",
923    ),
924)
925
926ci.android_builder(
927    name = "android-nougat-arm64-rel",
928    branch_selector = branches.STANDARD_MILESTONE,
929    console_view_entry = consoles.console_view_entry(
930        category = "builder_tester|arm64",
931        short_name = "N",
932    ),
933    cq_mirrors_console_view = "mirrors",
934    main_console_view = main_console_if_on_branch(),
935)
936
937ci.android_builder(
938    name = "android-pie-arm64-dbg",
939    branch_selector = branches.STANDARD_MILESTONE,
940    console_view_entry = consoles.console_view_entry(
941        category = "tester|phone",
942        short_name = "P",
943    ),
944    cq_mirrors_console_view = "mirrors",
945    main_console_view = main_console_if_on_branch(),
946    triggered_by = [builder_name("Android arm64 Builder (dbg)")],
947)
948
949ci.android_builder(
950    name = "android-pie-arm64-rel",
951    branch_selector = branches.STANDARD_MILESTONE,
952    console_view_entry = consoles.console_view_entry(
953        category = "on_cq",
954        short_name = "P",
955    ),
956    cq_mirrors_console_view = "mirrors",
957    main_console_view = main_console_if_on_branch(),
958    tree_closing = True,
959)
960
961ci.android_fyi_builder(
962    name = "android-pie-arm64-wpt-rel-non-cq",
963    console_view_entry = consoles.console_view_entry(
964        category = "builder_tester|arm64",
965        short_name = "P-WPT",
966    ),
967)
968
969ci.android_builder(
970    name = "android-pie-x86-rel",
971    console_view_entry = consoles.console_view_entry(
972        category = "builder_tester|x86",
973        short_name = "P",
974    ),
975)
976
977ci.android_fyi_builder(
978    name = "android-inverse-fieldtrials-pie-x86-fyi-rel",
979    console_view_entry = consoles.console_view_entry(
980        category = "builder_tester|x86",
981        short_name = "P-IFT",
982    ),
983)
984
985ci.android_fyi_builder(
986    name = "android-weblayer-10-x86-rel-tests",
987    console_view_entry = consoles.console_view_entry(
988        category = "tester|weblayer",
989        short_name = "10",
990    ),
991    triggered_by = ["android-weblayer-x86-fyi-rel"],
992    notifies = ["weblayer-sheriff"],
993)
994
995ci.android_fyi_builder(
996    name = "android-weblayer-marshmallow-x86-rel-tests",
997    console_view_entry = consoles.console_view_entry(
998        category = "tester|weblayer",
999        short_name = "M",
1000    ),
1001    triggered_by = ["android-weblayer-x86-fyi-rel"],
1002    notifies = ["weblayer-sheriff"],
1003)
1004
1005ci.android_fyi_builder(
1006    name = "android-weblayer-pie-x86-rel-tests",
1007    console_view_entry = consoles.console_view_entry(
1008        category = "tester|weblayer",
1009        short_name = "P",
1010    ),
1011    triggered_by = ["android-weblayer-x86-fyi-rel"],
1012    notifies = ["weblayer-sheriff"],
1013)
1014
1015ci.android_fyi_builder(
1016    name = "android-weblayer-x86-fyi-rel",
1017    console_view_entry = consoles.console_view_entry(
1018        category = "builder|weblayer",
1019        short_name = "x86",
1020    ),
1021)
1022
1023ci.android_fyi_builder(
1024    name = "Android WebView P FYI (rel)",
1025    console_view_entry = consoles.console_view_entry(
1026        category = "webview",
1027        short_name = "p-rel",
1028    ),
1029)
1030
1031# TODO(hypan): remove this once there is no associated disabled tests
1032ci.android_fyi_builder(
1033    name = "android-pie-x86-fyi-rel",
1034    console_view_entry = consoles.console_view_entry(
1035        category = "emulator|P|x86",
1036        short_name = "rel",
1037    ),
1038    goma_jobs = goma.jobs.J150,
1039    schedule = "triggered",  # triggered manually via Scheduler UI
1040)
1041
1042ci.android_fyi_builder(
1043    name = "android-11-x86-fyi-rel",
1044    console_view_entry = consoles.console_view_entry(
1045        category = "emulator|11|x86",
1046        short_name = "rel",
1047    ),
1048)
1049
1050ci.chromium_builder(
1051    name = "android-archive-dbg",
1052    # Bump to 32 if needed.
1053    console_view_entry = consoles.console_view_entry(
1054        category = "android",
1055        short_name = "dbg",
1056    ),
1057    cores = 8,
1058    main_console_view = "main",
1059)
1060
1061ci.chromium_builder(
1062    name = "android-archive-rel",
1063    console_view_entry = consoles.console_view_entry(
1064        category = "android",
1065        short_name = "rel",
1066    ),
1067    cores = 32,
1068    main_console_view = "main",
1069)
1070
1071ci.chromium_builder(
1072    name = "android-official",
1073    branch_selector = branches.STANDARD_MILESTONE,
1074    main_console_view = "main",
1075    console_view_entry = consoles.console_view_entry(
1076        category = "android",
1077        short_name = "off",
1078    ),
1079    cores = 32,
1080    tree_closing = False,
1081)
1082
1083ci.chromium_builder(
1084    name = "fuchsia-official",
1085    branch_selector = branches.STANDARD_MILESTONE,
1086    main_console_view = "main",
1087    console_view_entry = consoles.console_view_entry(
1088        category = "fuchsia",
1089        short_name = "off",
1090    ),
1091    cores = 32,
1092    # TODO: Change this back down to something reasonable once these builders
1093    # have populated their cached by getting through the compile step
1094    execution_timeout = 10 * time.hour,
1095    tree_closing = False,
1096)
1097
1098ci.chromium_builder(
1099    name = "linux-archive-dbg",
1100    console_view_entry = consoles.console_view_entry(
1101        category = "linux",
1102        short_name = "dbg",
1103    ),
1104    # Bump to 32 if needed.
1105    cores = 8,
1106    main_console_view = "main",
1107)
1108
1109ci.chromium_builder(
1110    name = "linux-archive-rel",
1111    console_view_entry = consoles.console_view_entry(
1112        category = "linux",
1113        short_name = "rel",
1114    ),
1115    cores = 32,
1116    main_console_view = "main",
1117    notifies = ["linux-archive-rel"],
1118)
1119
1120ci.chromium_builder(
1121    name = "linux-official",
1122    branch_selector = branches.STANDARD_MILESTONE,
1123    builderless = False,
1124    # TODO(https://crbug.com/1072012) Use the default console view and add
1125    # main_console_view = 'main' once the build is green
1126    console_view_entry = consoles.console_view_entry(
1127        console_view = "chromium.fyi",
1128        category = "linux",
1129        short_name = "off",
1130    ),
1131    cores = 32,
1132    # TODO: Change this back down to something reasonable once these builders
1133    # have populated their cached by getting through the compile step
1134    execution_timeout = 10 * time.hour,
1135    main_console_view = main_console_if_on_branch(),
1136    tree_closing = False,
1137)
1138
1139ci.chromium_builder(
1140    name = "mac-archive-dbg",
1141    console_view_entry = consoles.console_view_entry(
1142        category = "mac",
1143        short_name = "dbg",
1144    ),
1145    # Bump to 8 cores if needed.
1146    cores = 4,
1147    main_console_view = "main",
1148    os = os.MAC_DEFAULT,
1149)
1150
1151ci.chromium_builder(
1152    name = "mac-archive-rel",
1153    console_view_entry = consoles.console_view_entry(
1154        category = "mac",
1155        short_name = "rel",
1156    ),
1157    main_console_view = "main",
1158    os = os.MAC_DEFAULT,
1159)
1160
1161ci.chromium_builder(
1162    name = "mac-official",
1163    builderless = False,
1164    # TODO(https://crbug.com/1072012) Use the default console view and add
1165    # main_console_view = 'main' once the build is green
1166    console_view_entry = consoles.console_view_entry(
1167        console_view = "chromium.fyi",
1168        category = "mac",
1169        short_name = "off",
1170    ),
1171    # TODO: Change this back down to something reasonable once these builders
1172    # have populated their cached by getting through the compile step
1173    execution_timeout = 10 * time.hour,
1174    main_console_view = main_console_if_on_branch(),
1175    tree_closing = False,
1176    os = os.MAC_ANY,
1177    cores = None,
1178)
1179
1180ci.chromium_builder(
1181    name = "win-archive-dbg",
1182    console_view_entry = consoles.console_view_entry(
1183        category = "win|dbg",
1184        short_name = "64",
1185    ),
1186    cores = 32,
1187    main_console_view = "main",
1188    os = os.WINDOWS_DEFAULT,
1189    tree_closing = False,
1190)
1191
1192ci.chromium_builder(
1193    name = "win-archive-rel",
1194    console_view_entry = consoles.console_view_entry(
1195        category = "win|rel",
1196        short_name = "64",
1197    ),
1198    cores = 32,
1199    main_console_view = "main",
1200    os = os.WINDOWS_DEFAULT,
1201)
1202
1203ci.chromium_builder(
1204    name = "win-official",
1205    branch_selector = branches.STANDARD_MILESTONE,
1206    main_console_view = "main",
1207    console_view_entry = consoles.console_view_entry(
1208        category = "win|off",
1209        short_name = "64",
1210    ),
1211    cores = 32,
1212    os = os.WINDOWS_DEFAULT,
1213    execution_timeout = 6 * time.hour,
1214    tree_closing = False,
1215)
1216
1217ci.chromium_builder(
1218    name = "win32-archive-dbg",
1219    console_view_entry = consoles.console_view_entry(
1220        category = "win|dbg",
1221        short_name = "32",
1222    ),
1223    cores = 32,
1224    main_console_view = "main",
1225    os = os.WINDOWS_DEFAULT,
1226    tree_closing = False,
1227)
1228
1229ci.chromium_builder(
1230    name = "win32-archive-rel",
1231    console_view_entry = consoles.console_view_entry(
1232        category = "win|rel",
1233        short_name = "32",
1234    ),
1235    cores = 32,
1236    main_console_view = "main",
1237    os = os.WINDOWS_DEFAULT,
1238)
1239
1240ci.chromium_builder(
1241    name = "win32-official",
1242    branch_selector = branches.STANDARD_MILESTONE,
1243    main_console_view = "main",
1244    console_view_entry = consoles.console_view_entry(
1245        category = "win|off",
1246        short_name = "32",
1247    ),
1248    cores = 32,
1249    os = os.WINDOWS_DEFAULT,
1250    execution_timeout = 6 * time.hour,
1251    tree_closing = False,
1252)
1253
1254ci.chromiumos_builder(
1255    name = "Linux ChromiumOS Full",
1256    console_view_entry = consoles.console_view_entry(
1257        category = "default",
1258        short_name = "ful",
1259    ),
1260    main_console_view = "main",
1261)
1262
1263ci.chromiumos_builder(
1264    name = "chromeos-amd64-generic-asan-rel",
1265    console_view_entry = consoles.console_view_entry(
1266        category = "simple|release|x64",
1267        short_name = "asn",
1268    ),
1269    main_console_view = "main",
1270)
1271
1272ci.chromiumos_builder(
1273    name = "chromeos-amd64-generic-cfi-thin-lto-rel",
1274    console_view_entry = consoles.console_view_entry(
1275        category = "simple|release|x64",
1276        short_name = "cfi",
1277    ),
1278    main_console_view = "main",
1279)
1280
1281ci.chromiumos_builder(
1282    name = "chromeos-amd64-generic-dbg",
1283    branch_selector = branches.STANDARD_MILESTONE,
1284    console_view_entry = consoles.console_view_entry(
1285        category = "simple|debug|x64",
1286        short_name = "dbg",
1287    ),
1288    cq_mirrors_console_view = "mirrors",
1289    main_console_view = "main",
1290)
1291
1292ci.chromiumos_builder(
1293    name = "chromeos-amd64-generic-lacros-dbg",
1294    branch_selector = branches.STANDARD_MILESTONE,
1295    console_view_entry = consoles.console_view_entry(
1296        category = "lacros|x64",
1297        short_name = "dbg",
1298    ),
1299    cq_mirrors_console_view = "mirrors",
1300    main_console_view = "main",
1301)
1302
1303ci.chromiumos_builder(
1304    name = "chromeos-amd64-generic-rel",
1305    branch_selector = branches.ALL_BRANCHES,
1306    console_view_entry = consoles.console_view_entry(
1307        category = "simple|release|x64",
1308        short_name = "rel",
1309    ),
1310    cq_mirrors_console_view = "mirrors",
1311    main_console_view = "main",
1312)
1313
1314ci.chromiumos_builder(
1315    name = "chromeos-arm-generic-dbg",
1316    console_view_entry = consoles.console_view_entry(
1317        category = "simple|debug",
1318        short_name = "arm",
1319    ),
1320    main_console_view = "main",
1321)
1322
1323ci.chromiumos_builder(
1324    name = "chromeos-arm-generic-rel",
1325    branch_selector = branches.ALL_BRANCHES,
1326    console_view_entry = consoles.console_view_entry(
1327        category = "simple|release",
1328        short_name = "arm",
1329    ),
1330    cq_mirrors_console_view = "mirrors",
1331    main_console_view = "main",
1332)
1333
1334ci.chromiumos_builder(
1335    name = "chromeos-kevin-rel",
1336    branch_selector = branches.ALL_BRANCHES,
1337    console_view_entry = consoles.console_view_entry(
1338        category = "simple|release",
1339        short_name = "kvn",
1340    ),
1341    main_console_view = "main",
1342)
1343
1344ci.chromiumos_builder(
1345    name = "linux-chromeos-dbg",
1346    branch_selector = branches.STANDARD_MILESTONE,
1347    console_view_entry = consoles.console_view_entry(
1348        category = "default",
1349        short_name = "dbg",
1350    ),
1351    cq_mirrors_console_view = "mirrors",
1352    main_console_view = "main",
1353)
1354
1355ci.chromiumos_builder(
1356    name = "linux-chromeos-rel",
1357    branch_selector = branches.ALL_BRANCHES,
1358    console_view_entry = consoles.console_view_entry(
1359        category = "default",
1360        short_name = "rel",
1361    ),
1362    cq_mirrors_console_view = "mirrors",
1363    main_console_view = "main",
1364)
1365
1366ci.chromiumos_builder(
1367    name = "linux-lacros-builder-rel",
1368    branch_selector = branches.STANDARD_MILESTONE,
1369    console_view_entry = consoles.console_view_entry(
1370        category = "default",
1371        short_name = "lcr",
1372    ),
1373    cq_mirrors_console_view = "mirrors",
1374    main_console_view = "main",
1375)
1376
1377ci.chromiumos_builder(
1378    name = "linux-lacros-tester-rel",
1379    branch_selector = branches.STANDARD_MILESTONE,
1380    console_view_entry = consoles.console_view_entry(
1381        category = "default",
1382        short_name = "lcr",
1383    ),
1384    main_console_view = "main",
1385    cq_mirrors_console_view = "mirrors",
1386    triggered_by = ["linux-lacros-builder-rel"],
1387    tree_closing = False,
1388)
1389
1390ci.clang_builder(
1391    name = "CFI Linux CF",
1392    goma_backend = goma.backend.RBE_PROD,
1393    console_view_entry = consoles.console_view_entry(
1394        category = "CFI|Linux",
1395        short_name = "CF",
1396    ),
1397    notifies = ["CFI Linux"],
1398)
1399
1400ci.clang_builder(
1401    name = "CFI Linux ToT",
1402    console_view_entry = consoles.console_view_entry(
1403        category = "CFI|Linux",
1404        short_name = "ToT",
1405    ),
1406    notifies = ["CFI Linux"],
1407)
1408
1409ci.clang_builder(
1410    name = "CrWinAsan",
1411    console_view_entry = consoles.console_view_entry(
1412        category = "ToT Windows|Asan",
1413        short_name = "asn",
1414    ),
1415    os = os.WINDOWS_ANY,
1416)
1417
1418ci.clang_builder(
1419    name = "CrWinAsan(dll)",
1420    console_view_entry = consoles.console_view_entry(
1421        category = "ToT Windows|Asan",
1422        short_name = "dll",
1423    ),
1424    os = os.WINDOWS_ANY,
1425)
1426
1427ci.clang_builder(
1428    name = "ToTAndroid",
1429    console_view_entry = consoles.console_view_entry(
1430        category = "ToT Android",
1431        short_name = "rel",
1432    ),
1433)
1434
1435ci.clang_builder(
1436    name = "ToTAndroid (dbg)",
1437    console_view_entry = consoles.console_view_entry(
1438        category = "ToT Android",
1439        short_name = "dbg",
1440    ),
1441)
1442
1443ci.clang_builder(
1444    name = "ToTAndroid x64",
1445    console_view_entry = consoles.console_view_entry(
1446        category = "ToT Android",
1447        short_name = "x64",
1448    ),
1449)
1450
1451ci.clang_builder(
1452    name = "ToTAndroid64",
1453    console_view_entry = consoles.console_view_entry(
1454        category = "ToT Android",
1455        short_name = "a64",
1456    ),
1457)
1458
1459ci.clang_builder(
1460    name = "ToTAndroidASan",
1461    console_view_entry = consoles.console_view_entry(
1462        category = "ToT Android",
1463        short_name = "asn",
1464    ),
1465)
1466
1467ci.clang_builder(
1468    name = "ToTAndroidCFI",
1469    console_view_entry = consoles.console_view_entry(
1470        category = "ToT Android",
1471        short_name = "cfi",
1472    ),
1473)
1474
1475ci.clang_builder(
1476    name = "ToTAndroidOfficial",
1477    console_view_entry = consoles.console_view_entry(
1478        category = "ToT Android",
1479        short_name = "off",
1480    ),
1481)
1482
1483def clang_tot_linux_builder(short_name, category = "ToT Linux", **kwargs):
1484    ci.clang_builder(
1485        console_view_entry = consoles.console_view_entry(
1486            category = category,
1487            short_name = short_name,
1488        ),
1489        notifies = [luci.notifier(
1490            name = "ToT Linux notifier",
1491            on_new_status = ["FAILURE"],
1492            notify_emails = ["thomasanderson@chromium.org"],
1493        )],
1494        **kwargs
1495    )
1496
1497clang_tot_linux_builder(
1498    name = "ToTLinux",
1499    short_name = "rel",
1500)
1501
1502clang_tot_linux_builder(
1503    name = "ToTLinux (dbg)",
1504    short_name = "dbg",
1505)
1506
1507clang_tot_linux_builder(
1508    name = "ToTLinuxASan",
1509    short_name = "asn",
1510)
1511
1512clang_tot_linux_builder(
1513    name = "ToTLinuxASanLibfuzzer",
1514    # Requires a large disk, so has a machine specifically devoted to it
1515    builderless = False,
1516    short_name = "fuz",
1517)
1518
1519clang_tot_linux_builder(
1520    name = "ToTLinuxCoverage",
1521    category = "ToT Code Coverage",
1522    short_name = "linux",
1523    executable = "recipe:chromium_clang_coverage_tot",
1524)
1525
1526clang_tot_linux_builder(
1527    name = "ToTLinuxMSan",
1528    short_name = "msn",
1529)
1530
1531clang_tot_linux_builder(
1532    name = "ToTLinuxTSan",
1533    short_name = "tsn",
1534)
1535
1536clang_tot_linux_builder(
1537    name = "ToTLinuxThinLTO",
1538    short_name = "lto",
1539)
1540
1541clang_tot_linux_builder(
1542    name = "ToTLinuxUBSanVptr",
1543    short_name = "usn",
1544)
1545
1546ci.clang_builder(
1547    name = "ToTWin(dbg)",
1548    console_view_entry = consoles.console_view_entry(
1549        category = "ToT Windows",
1550        short_name = "dbg",
1551    ),
1552    os = os.WINDOWS_ANY,
1553)
1554
1555ci.clang_builder(
1556    name = "ToTWin(dll)",
1557    console_view_entry = consoles.console_view_entry(
1558        category = "ToT Windows",
1559        short_name = "dll",
1560    ),
1561    os = os.WINDOWS_ANY,
1562)
1563
1564ci.clang_builder(
1565    name = "ToTWin64(dbg)",
1566    console_view_entry = consoles.console_view_entry(
1567        category = "ToT Windows|x64",
1568        short_name = "dbg",
1569    ),
1570    os = os.WINDOWS_ANY,
1571)
1572
1573ci.clang_builder(
1574    name = "ToTWin64(dll)",
1575    console_view_entry = consoles.console_view_entry(
1576        category = "ToT Windows|x64",
1577        short_name = "dll",
1578    ),
1579    os = os.WINDOWS_ANY,
1580)
1581
1582ci.clang_builder(
1583    name = "ToTWinASanLibfuzzer",
1584    console_view_entry = consoles.console_view_entry(
1585        category = "ToT Windows|Asan",
1586        short_name = "fuz",
1587    ),
1588    os = os.WINDOWS_ANY,
1589)
1590
1591ci.clang_builder(
1592    name = "ToTWinCFI",
1593    console_view_entry = consoles.console_view_entry(
1594        category = "CFI|Win",
1595        short_name = "x86",
1596    ),
1597    os = os.WINDOWS_ANY,
1598)
1599
1600ci.clang_builder(
1601    name = "ToTWinCFI64",
1602    console_view_entry = consoles.console_view_entry(
1603        category = "CFI|Win",
1604        short_name = "x64",
1605    ),
1606    os = os.WINDOWS_ANY,
1607)
1608
1609ci.clang_builder(
1610    name = "UBSanVptr Linux",
1611    console_view_entry = consoles.console_view_entry(
1612        short_name = "usn",
1613    ),
1614    goma_backend = goma.backend.RBE_PROD,
1615)
1616
1617ci.clang_builder(
1618    name = "ToTWindowsCoverage",
1619    console_view_entry = consoles.console_view_entry(
1620        category = "ToT Code Coverage",
1621        short_name = "win",
1622    ),
1623    executable = "recipe:chromium_clang_coverage_tot",
1624    os = os.WINDOWS_ANY,
1625)
1626
1627ci.clang_builder(
1628    name = "linux-win_cross-rel",
1629    console_view_entry = consoles.console_view_entry(
1630        category = "ToT Windows",
1631        short_name = "lxw",
1632    ),
1633)
1634
1635ci.clang_builder(
1636    name = "ToTiOS",
1637    builderless = False,
1638    console_view_entry = consoles.console_view_entry(
1639        category = "iOS|public",
1640        short_name = "sim",
1641    ),
1642    cores = None,
1643    os = os.MAC_10_15,
1644    ssd = True,
1645    xcode = xcode.x12a7209,
1646)
1647
1648ci.clang_builder(
1649    name = "ToTiOSDevice",
1650    builderless = False,
1651    console_view_entry = consoles.console_view_entry(
1652        category = "iOS|public",
1653        short_name = "dev",
1654    ),
1655    cores = None,
1656    os = os.MAC_10_15,
1657    ssd = True,
1658    xcode = xcode.x12a7209,
1659)
1660
1661ci.clang_mac_builder(
1662    name = "ToTMac",
1663    console_view_entry = consoles.console_view_entry(
1664        category = "ToT Mac",
1665        short_name = "rel",
1666    ),
1667)
1668
1669ci.clang_mac_builder(
1670    name = "ToTMac (dbg)",
1671    console_view_entry = consoles.console_view_entry(
1672        category = "ToT Mac",
1673        short_name = "dbg",
1674    ),
1675)
1676
1677ci.clang_mac_builder(
1678    name = "ToTMacASan",
1679    console_view_entry = consoles.console_view_entry(
1680        category = "ToT Mac",
1681        short_name = "asn",
1682    ),
1683)
1684
1685ci.clang_mac_builder(
1686    name = "ToTMacCoverage",
1687    console_view_entry = consoles.console_view_entry(
1688        category = "ToT Code Coverage",
1689        short_name = "mac",
1690    ),
1691    executable = "recipe:chromium_clang_coverage_tot",
1692)
1693
1694ci.dawn_linux_builder(
1695    name = "Dawn Linux x64 Builder",
1696    console_view_entry = consoles.console_view_entry(
1697        category = "ToT|Linux|Builder",
1698        short_name = "x64",
1699    ),
1700)
1701
1702ci.dawn_linux_builder(
1703    name = "Dawn Linux x64 DEPS Builder",
1704    branch_selector = branches.STANDARD_MILESTONE,
1705    console_view_entry = consoles.console_view_entry(
1706        category = "DEPS|Linux|Builder",
1707        short_name = "x64",
1708    ),
1709    cq_mirrors_console_view = "mirrors",
1710    main_console_view = main_console_if_on_branch(),
1711)
1712
1713ci.dawn_thin_tester(
1714    name = "Dawn Linux x64 DEPS Release (Intel HD 630)",
1715    branch_selector = branches.STANDARD_MILESTONE,
1716    console_view_entry = consoles.console_view_entry(
1717        category = "DEPS|Linux|Intel",
1718        short_name = "x64",
1719    ),
1720    cq_mirrors_console_view = "mirrors",
1721    main_console_view = main_console_if_on_branch(),
1722    triggered_by = [builder_name("Dawn Linux x64 DEPS Builder")],
1723)
1724
1725ci.dawn_thin_tester(
1726    name = "Dawn Linux x64 DEPS Release (NVIDIA)",
1727    branch_selector = branches.STANDARD_MILESTONE,
1728    console_view_entry = consoles.console_view_entry(
1729        category = "DEPS|Linux|Nvidia",
1730        short_name = "x64",
1731    ),
1732    cq_mirrors_console_view = "mirrors",
1733    main_console_view = main_console_if_on_branch(),
1734    triggered_by = [builder_name("Dawn Linux x64 DEPS Builder")],
1735)
1736
1737ci.dawn_thin_tester(
1738    name = "Dawn Linux x64 Release (Intel HD 630)",
1739    console_view_entry = consoles.console_view_entry(
1740        category = "ToT|Linux|Intel",
1741        short_name = "x64",
1742    ),
1743    triggered_by = ["Dawn Linux x64 Builder"],
1744)
1745
1746ci.dawn_thin_tester(
1747    name = "Dawn Linux x64 Release (NVIDIA)",
1748    console_view_entry = consoles.console_view_entry(
1749        category = "ToT|Linux|Nvidia",
1750        short_name = "x64",
1751    ),
1752    triggered_by = ["Dawn Linux x64 Builder"],
1753)
1754
1755ci.dawn_mac_builder(
1756    name = "Dawn Mac x64 Builder",
1757    console_view_entry = consoles.console_view_entry(
1758        category = "ToT|Mac|Builder",
1759        short_name = "x64",
1760    ),
1761)
1762
1763ci.dawn_mac_builder(
1764    name = "Dawn Mac x64 DEPS Builder",
1765    branch_selector = branches.STANDARD_MILESTONE,
1766    console_view_entry = consoles.console_view_entry(
1767        category = "DEPS|Mac|Builder",
1768        short_name = "x64",
1769    ),
1770    cq_mirrors_console_view = "mirrors",
1771    main_console_view = main_console_if_on_branch(),
1772)
1773
1774# Note that the Mac testers are all thin Linux VMs, triggering jobs on the
1775# physical Mac hardware in the Swarming pool which is why they run on linux
1776ci.dawn_thin_tester(
1777    name = "Dawn Mac x64 DEPS Release (AMD)",
1778    branch_selector = branches.STANDARD_MILESTONE,
1779    console_view_entry = consoles.console_view_entry(
1780        category = "DEPS|Mac|AMD",
1781        short_name = "x64",
1782    ),
1783    cq_mirrors_console_view = "mirrors",
1784    main_console_view = main_console_if_on_branch(),
1785    triggered_by = [builder_name("Dawn Mac x64 DEPS Builder")],
1786)
1787
1788ci.dawn_thin_tester(
1789    name = "Dawn Mac x64 DEPS Release (Intel)",
1790    branch_selector = branches.STANDARD_MILESTONE,
1791    console_view_entry = consoles.console_view_entry(
1792        category = "DEPS|Mac|Intel",
1793        short_name = "x64",
1794    ),
1795    cq_mirrors_console_view = "mirrors",
1796    main_console_view = main_console_if_on_branch(),
1797    triggered_by = [builder_name("Dawn Mac x64 DEPS Builder")],
1798)
1799
1800ci.dawn_thin_tester(
1801    name = "Dawn Mac x64 Release (AMD)",
1802    console_view_entry = consoles.console_view_entry(
1803        category = "ToT|Mac|AMD",
1804        short_name = "x64",
1805    ),
1806    triggered_by = ["Dawn Mac x64 Builder"],
1807)
1808
1809ci.dawn_thin_tester(
1810    name = "Dawn Mac x64 Release (Intel)",
1811    console_view_entry = consoles.console_view_entry(
1812        category = "ToT|Mac|Intel",
1813        short_name = "x64",
1814    ),
1815    triggered_by = ["Dawn Mac x64 Builder"],
1816)
1817
1818ci.dawn_windows_builder(
1819    name = "Dawn Win10 x64 ASAN Release",
1820    console_view_entry = consoles.console_view_entry(
1821        category = "ToT|Windows|ASAN",
1822        short_name = "x64",
1823    ),
1824)
1825
1826ci.dawn_windows_builder(
1827    name = "Dawn Win10 x64 Builder",
1828    console_view_entry = consoles.console_view_entry(
1829        category = "ToT|Windows|Builder",
1830        short_name = "x64",
1831    ),
1832)
1833
1834ci.dawn_windows_builder(
1835    name = "Dawn Win10 x64 DEPS Builder",
1836    branch_selector = branches.STANDARD_MILESTONE,
1837    console_view_entry = consoles.console_view_entry(
1838        category = "DEPS|Windows|Builder",
1839        short_name = "x64",
1840    ),
1841    cq_mirrors_console_view = "mirrors",
1842    main_console_view = main_console_if_on_branch(),
1843)
1844
1845# Note that the Win testers are all thin Linux VMs, triggering jobs on the
1846# physical Win hardware in the Swarming pool, which is why they run on linux
1847ci.dawn_thin_tester(
1848    name = "Dawn Win10 x64 DEPS Release (Intel HD 630)",
1849    branch_selector = branches.STANDARD_MILESTONE,
1850    console_view_entry = consoles.console_view_entry(
1851        category = "DEPS|Windows|Intel",
1852        short_name = "x64",
1853    ),
1854    cq_mirrors_console_view = "mirrors",
1855    main_console_view = main_console_if_on_branch(),
1856    triggered_by = [builder_name("Dawn Win10 x64 DEPS Builder")],
1857)
1858
1859ci.dawn_thin_tester(
1860    name = "Dawn Win10 x64 DEPS Release (NVIDIA)",
1861    branch_selector = branches.STANDARD_MILESTONE,
1862    console_view_entry = consoles.console_view_entry(
1863        category = "DEPS|Windows|Nvidia",
1864        short_name = "x64",
1865    ),
1866    cq_mirrors_console_view = "mirrors",
1867    main_console_view = main_console_if_on_branch(),
1868    triggered_by = [builder_name("Dawn Win10 x64 DEPS Builder")],
1869)
1870
1871ci.dawn_thin_tester(
1872    name = "Dawn Win10 x64 Release (Intel HD 630)",
1873    console_view_entry = consoles.console_view_entry(
1874        category = "ToT|Windows|Intel",
1875        short_name = "x64",
1876    ),
1877    triggered_by = ["Dawn Win10 x64 Builder"],
1878)
1879
1880ci.dawn_thin_tester(
1881    name = "Dawn Win10 x64 Release (NVIDIA)",
1882    console_view_entry = consoles.console_view_entry(
1883        category = "ToT|Windows|Nvidia",
1884        short_name = "x64",
1885    ),
1886    triggered_by = ["Dawn Win10 x64 Builder"],
1887)
1888
1889ci.dawn_windows_builder(
1890    name = "Dawn Win10 x86 Builder",
1891    console_view_entry = consoles.console_view_entry(
1892        category = "ToT|Windows|Builder",
1893        short_name = "x86",
1894    ),
1895)
1896
1897ci.dawn_windows_builder(
1898    name = "Dawn Win10 x86 DEPS Builder",
1899    branch_selector = branches.STANDARD_MILESTONE,
1900    console_view_entry = consoles.console_view_entry(
1901        category = "DEPS|Windows|Builder",
1902        short_name = "x86",
1903    ),
1904    cq_mirrors_console_view = "mirrors",
1905    main_console_view = main_console_if_on_branch(),
1906)
1907
1908# Note that the Win testers are all thin Linux VMs, triggering jobs on the
1909# physical Win hardware in the Swarming pool, which is why they run on linux
1910ci.dawn_thin_tester(
1911    name = "Dawn Win10 x86 DEPS Release (Intel HD 630)",
1912    branch_selector = branches.STANDARD_MILESTONE,
1913    console_view_entry = consoles.console_view_entry(
1914        category = "DEPS|Windows|Intel",
1915        short_name = "x86",
1916    ),
1917    cq_mirrors_console_view = "mirrors",
1918    main_console_view = main_console_if_on_branch(),
1919    triggered_by = [builder_name("Dawn Win10 x86 DEPS Builder")],
1920)
1921
1922ci.dawn_thin_tester(
1923    name = "Dawn Win10 x86 DEPS Release (NVIDIA)",
1924    branch_selector = branches.STANDARD_MILESTONE,
1925    console_view_entry = consoles.console_view_entry(
1926        category = "DEPS|Windows|Nvidia",
1927        short_name = "x86",
1928    ),
1929    cq_mirrors_console_view = "mirrors",
1930    main_console_view = main_console_if_on_branch(),
1931    triggered_by = [builder_name("Dawn Win10 x86 DEPS Builder")],
1932)
1933
1934ci.dawn_thin_tester(
1935    name = "Dawn Win10 x86 Release (Intel HD 630)",
1936    console_view_entry = consoles.console_view_entry(
1937        category = "ToT|Windows|Intel",
1938        short_name = "x86",
1939    ),
1940    triggered_by = ["Dawn Win10 x86 Builder"],
1941)
1942
1943ci.dawn_thin_tester(
1944    name = "Dawn Win10 x86 Release (NVIDIA)",
1945    console_view_entry = consoles.console_view_entry(
1946        category = "ToT|Windows|Nvidia",
1947        short_name = "x86",
1948    ),
1949    triggered_by = ["Dawn Win10 x86 Builder"],
1950)
1951
1952ci.fuzz_builder(
1953    name = "ASAN Debug",
1954    console_view_entry = consoles.console_view_entry(
1955        category = "linux asan",
1956        short_name = "dbg",
1957    ),
1958    triggering_policy = scheduler.greedy_batching(
1959        max_concurrent_invocations = 4,
1960    ),
1961)
1962
1963ci.fuzz_builder(
1964    name = "ASan Debug (32-bit x86 with V8-ARM)",
1965    console_view_entry = consoles.console_view_entry(
1966        category = "linux asan|x64 v8-ARM",
1967        short_name = "dbg",
1968    ),
1969    triggering_policy = scheduler.greedy_batching(
1970        max_concurrent_invocations = 4,
1971    ),
1972)
1973
1974ci.fuzz_builder(
1975    name = "ASAN Release",
1976    console_view_entry = consoles.console_view_entry(
1977        category = "linux asan",
1978        short_name = "rel",
1979    ),
1980    triggering_policy = scheduler.greedy_batching(
1981        max_concurrent_invocations = 5,
1982    ),
1983)
1984
1985ci.fuzz_builder(
1986    name = "ASan Release (32-bit x86 with V8-ARM)",
1987    console_view_entry = consoles.console_view_entry(
1988        category = "linux asan|x64 v8-ARM",
1989        short_name = "rel",
1990    ),
1991    triggering_policy = scheduler.greedy_batching(
1992        max_concurrent_invocations = 4,
1993    ),
1994)
1995
1996ci.fuzz_builder(
1997    name = "ASAN Release Media",
1998    console_view_entry = consoles.console_view_entry(
1999        category = "linux asan",
2000        short_name = "med",
2001    ),
2002    triggering_policy = scheduler.greedy_batching(
2003        max_concurrent_invocations = 4,
2004    ),
2005)
2006
2007ci.fuzz_builder(
2008    name = "Afl Upload Linux ASan",
2009    console_view_entry = consoles.console_view_entry(
2010        category = "afl",
2011        short_name = "afl",
2012    ),
2013    executable = "recipe:chromium_afl",
2014    triggering_policy = scheduler.greedy_batching(
2015        max_concurrent_invocations = 4,
2016    ),
2017)
2018
2019ci.fuzz_builder(
2020    name = "ASan Release Media (32-bit x86 with V8-ARM)",
2021    console_view_entry = consoles.console_view_entry(
2022        category = "linux asan|x64 v8-ARM",
2023        short_name = "med",
2024    ),
2025    triggering_policy = scheduler.greedy_batching(
2026        max_concurrent_invocations = 4,
2027    ),
2028)
2029
2030ci.fuzz_builder(
2031    name = "ChromiumOS ASAN Release",
2032    console_view_entry = consoles.console_view_entry(
2033        category = "cros asan",
2034    ),
2035    triggering_policy = scheduler.greedy_batching(
2036        max_concurrent_invocations = 6,
2037    ),
2038)
2039
2040ci.fuzz_builder(
2041    name = "MSAN Release (chained origins)",
2042    console_view_entry = consoles.console_view_entry(
2043        category = "linux msan",
2044        short_name = "org",
2045    ),
2046    triggering_policy = scheduler.greedy_batching(
2047        max_concurrent_invocations = 4,
2048    ),
2049)
2050
2051ci.fuzz_builder(
2052    name = "MSAN Release (no origins)",
2053    console_view_entry = consoles.console_view_entry(
2054        category = "linux msan",
2055        short_name = "rel",
2056    ),
2057    triggering_policy = scheduler.greedy_batching(
2058        max_concurrent_invocations = 4,
2059    ),
2060)
2061
2062ci.fuzz_builder(
2063    name = "Mac ASAN Release",
2064    builderless = False,
2065    console_view_entry = consoles.console_view_entry(
2066        category = "mac asan",
2067        short_name = "rel",
2068    ),
2069    cores = 4,
2070    os = os.MAC_DEFAULT,
2071    triggering_policy = scheduler.greedy_batching(
2072        max_concurrent_invocations = 2,
2073    ),
2074)
2075
2076ci.fuzz_builder(
2077    name = "Mac ASAN Release Media",
2078    builderless = False,
2079    console_view_entry = consoles.console_view_entry(
2080        category = "mac asan",
2081        short_name = "med",
2082    ),
2083    cores = 4,
2084    os = os.MAC_DEFAULT,
2085    triggering_policy = scheduler.greedy_batching(
2086        max_concurrent_invocations = 2,
2087    ),
2088)
2089
2090ci.fuzz_builder(
2091    name = "TSAN Debug",
2092    console_view_entry = consoles.console_view_entry(
2093        category = "linux tsan",
2094        short_name = "dbg",
2095    ),
2096    triggering_policy = scheduler.greedy_batching(
2097        max_concurrent_invocations = 4,
2098    ),
2099)
2100
2101ci.fuzz_builder(
2102    name = "TSAN Release",
2103    console_view_entry = consoles.console_view_entry(
2104        category = "linux tsan",
2105        short_name = "rel",
2106    ),
2107    triggering_policy = scheduler.greedy_batching(
2108        max_concurrent_invocations = 3,
2109    ),
2110)
2111
2112ci.fuzz_builder(
2113    name = "UBSan Release",
2114    console_view_entry = consoles.console_view_entry(
2115        category = "linux UBSan",
2116        short_name = "rel",
2117    ),
2118    triggering_policy = scheduler.greedy_batching(
2119        max_concurrent_invocations = 4,
2120    ),
2121)
2122
2123ci.fuzz_builder(
2124    name = "UBSan vptr Release",
2125    console_view_entry = consoles.console_view_entry(
2126        category = "linux UBSan",
2127        short_name = "vpt",
2128    ),
2129    triggering_policy = scheduler.greedy_batching(
2130        max_concurrent_invocations = 4,
2131    ),
2132)
2133
2134ci.fuzz_builder(
2135    name = "Win ASan Release",
2136    builderless = False,
2137    console_view_entry = consoles.console_view_entry(
2138        category = "win asan",
2139        short_name = "rel",
2140    ),
2141    os = os.WINDOWS_DEFAULT,
2142    triggering_policy = scheduler.greedy_batching(
2143        max_concurrent_invocations = 7,
2144    ),
2145)
2146
2147ci.fuzz_builder(
2148    name = "Win ASan Release Media",
2149    builderless = False,
2150    console_view_entry = consoles.console_view_entry(
2151        category = "win asan",
2152        short_name = "med",
2153    ),
2154    os = os.WINDOWS_DEFAULT,
2155    triggering_policy = scheduler.greedy_batching(
2156        max_concurrent_invocations = 6,
2157    ),
2158)
2159
2160ci.fuzz_libfuzzer_builder(
2161    name = "Libfuzzer Upload Chrome OS ASan",
2162    console_view_entry = consoles.console_view_entry(
2163        category = "libfuzz",
2164        short_name = "chromeos-asan",
2165    ),
2166    triggering_policy = scheduler.greedy_batching(
2167        max_concurrent_invocations = 3,
2168    ),
2169)
2170
2171ci.fuzz_libfuzzer_builder(
2172    name = "Libfuzzer Upload Linux ASan",
2173    console_view_entry = consoles.console_view_entry(
2174        category = "libfuzz",
2175        short_name = "linux",
2176    ),
2177    triggering_policy = scheduler.greedy_batching(
2178        max_concurrent_invocations = 5,
2179    ),
2180)
2181
2182ci.fuzz_libfuzzer_builder(
2183    name = "Libfuzzer Upload Linux ASan Debug",
2184    console_view_entry = consoles.console_view_entry(
2185        category = "libfuzz",
2186        short_name = "linux-dbg",
2187    ),
2188    triggering_policy = scheduler.greedy_batching(
2189        max_concurrent_invocations = 5,
2190    ),
2191)
2192
2193ci.fuzz_libfuzzer_builder(
2194    name = "Libfuzzer Upload Linux MSan",
2195    console_view_entry = consoles.console_view_entry(
2196        category = "libfuzz",
2197        short_name = "linux-msan",
2198    ),
2199    triggering_policy = scheduler.greedy_batching(
2200        max_concurrent_invocations = 5,
2201    ),
2202)
2203
2204ci.fuzz_libfuzzer_builder(
2205    name = "Libfuzzer Upload Linux UBSan",
2206    # Do not use builderless for this (crbug.com/980080).
2207    builderless = False,
2208    console_view_entry = consoles.console_view_entry(
2209        category = "libfuzz",
2210        short_name = "linux-ubsan",
2211    ),
2212    execution_timeout = 4 * time.hour,
2213    triggering_policy = scheduler.greedy_batching(
2214        max_concurrent_invocations = 5,
2215    ),
2216)
2217
2218ci.fuzz_libfuzzer_builder(
2219    name = "Libfuzzer Upload Linux V8-ARM64 ASan",
2220    console_view_entry = consoles.console_view_entry(
2221        category = "libfuzz",
2222        short_name = "arm64",
2223    ),
2224    triggering_policy = scheduler.greedy_batching(
2225        max_concurrent_invocations = 1,
2226    ),
2227)
2228
2229ci.fuzz_libfuzzer_builder(
2230    name = "Libfuzzer Upload Linux V8-ARM64 ASan Debug",
2231    console_view_entry = consoles.console_view_entry(
2232        category = "libfuzz",
2233        short_name = "arm64-dbg",
2234    ),
2235    triggering_policy = scheduler.greedy_batching(
2236        max_concurrent_invocations = 1,
2237    ),
2238)
2239
2240ci.fuzz_libfuzzer_builder(
2241    name = "Libfuzzer Upload Linux32 ASan",
2242    console_view_entry = consoles.console_view_entry(
2243        category = "libfuzz",
2244        short_name = "linux32",
2245    ),
2246    triggering_policy = scheduler.greedy_batching(
2247        max_concurrent_invocations = 3,
2248    ),
2249)
2250
2251ci.fuzz_libfuzzer_builder(
2252    name = "Libfuzzer Upload Linux32 ASan Debug",
2253    console_view_entry = consoles.console_view_entry(
2254        category = "libfuzz",
2255        short_name = "linux32-dbg",
2256    ),
2257    triggering_policy = scheduler.greedy_batching(
2258        max_concurrent_invocations = 3,
2259    ),
2260)
2261
2262ci.fuzz_libfuzzer_builder(
2263    name = "Libfuzzer Upload Linux32 V8-ARM ASan",
2264    console_view_entry = consoles.console_view_entry(
2265        category = "libfuzz",
2266        short_name = "arm",
2267    ),
2268    triggering_policy = scheduler.greedy_batching(
2269        max_concurrent_invocations = 1,
2270    ),
2271)
2272
2273ci.fuzz_libfuzzer_builder(
2274    name = "Libfuzzer Upload Linux32 V8-ARM ASan Debug",
2275    console_view_entry = consoles.console_view_entry(
2276        category = "libfuzz",
2277        short_name = "arm-dbg",
2278    ),
2279    triggering_policy = scheduler.greedy_batching(
2280        max_concurrent_invocations = 1,
2281    ),
2282)
2283
2284ci.fuzz_libfuzzer_builder(
2285    name = "Libfuzzer Upload Mac ASan",
2286    console_view_entry = consoles.console_view_entry(
2287        category = "libfuzz",
2288        short_name = "mac-asan",
2289    ),
2290    cores = 24,
2291    execution_timeout = 4 * time.hour,
2292    os = os.MAC_DEFAULT,
2293)
2294
2295ci.fuzz_libfuzzer_builder(
2296    name = "Libfuzzer Upload Windows ASan",
2297    console_view_entry = consoles.console_view_entry(
2298        category = "libfuzz",
2299        short_name = "win-asan",
2300    ),
2301    os = os.WINDOWS_DEFAULT,
2302    triggering_policy = scheduler.greedy_batching(
2303        max_concurrent_invocations = 3,
2304    ),
2305)
2306
2307ci.fyi_builder(
2308    name = "Linux Viz",
2309    console_view_entry = consoles.console_view_entry(
2310        category = "viz",
2311    ),
2312)
2313
2314ci.fyi_builder(
2315    name = "Linux remote_run Builder",
2316    console_view_entry = consoles.console_view_entry(
2317        category = "remote_run",
2318    ),
2319)
2320
2321ci.fyi_builder(
2322    name = "Linux remote_run Tester",
2323    console_view_entry = consoles.console_view_entry(
2324        category = "remote_run",
2325    ),
2326    triggered_by = ["Linux remote_run Builder"],
2327)
2328
2329ci.fyi_builder(
2330    name = "Site Isolation Android",
2331    console_view_entry = consoles.console_view_entry(
2332        category = "site_isolation",
2333    ),
2334    notifies = ["Site Isolation Android"],
2335)
2336
2337ci.fyi_builder(
2338    name = "VR Linux",
2339    branch_selector = branches.STANDARD_MILESTONE,
2340    console_view_entry = consoles.console_view_entry(
2341        category = "linux",
2342    ),
2343    cq_mirrors_console_view = "mirrors",
2344    main_console_view = main_console_if_on_branch(),
2345)
2346
2347ci.fyi_builder(
2348    name = "android-paeverywhere-arm-fyi-dbg",
2349    builderless = True,
2350    console_view_entry = consoles.console_view_entry(
2351        category = "paeverywhere|android",
2352        short_name = "32dbg",
2353    ),
2354    notifies = ["chrome-memory-safety"],
2355)
2356
2357ci.fyi_builder(
2358    name = "android-paeverywhere-arm-fyi-rel",
2359    builderless = True,
2360    console_view_entry = consoles.console_view_entry(
2361        category = "paeverywhere|android",
2362        short_name = "32rel",
2363    ),
2364    notifies = ["chrome-memory-safety"],
2365)
2366
2367ci.fyi_builder(
2368    name = "android-paeverywhere-arm64-fyi-dbg",
2369    builderless = True,
2370    console_view_entry = consoles.console_view_entry(
2371        category = "paeverywhere|android",
2372        short_name = "64dbg",
2373    ),
2374    notifies = ["chrome-memory-safety"],
2375)
2376
2377ci.fyi_builder(
2378    name = "android-paeverywhere-arm64-fyi-rel",
2379    builderless = True,
2380    console_view_entry = consoles.console_view_entry(
2381        category = "paeverywhere|android",
2382        short_name = "64rel",
2383    ),
2384    notifies = ["chrome-memory-safety"],
2385)
2386
2387ci.fyi_builder(
2388    name = "chromeos-amd64-generic-lacros-rel",
2389    console_view_entry = consoles.console_view_entry(
2390        category = "chromeos",
2391    ),
2392    properties = {
2393        # The format of these properties is defined at archive/properties.proto
2394        "$build/archive": {
2395            "archive_datas": [
2396                # The list of files and dirs should be synched with
2397                # _TRACKED_ITEMS in //build/lacros/lacros_resource_sizes.py.
2398                {
2399                    "files": [
2400                        "chrome",
2401                        "chrome_100_percent.pak",
2402                        "chrome_200_percent.pak",
2403                        "crashpad_handler",
2404                        "headless_lib.pak",
2405                        "icudtl.dat",
2406                        "nacl_helper",
2407                        "nacl_irt_x86_64.nexe",
2408                        "resources.pak",
2409                        "snapshot_blob.bin",
2410                    ],
2411                    "dirs": ["locales", "swiftshader"],
2412                    "gcs_bucket": "chromium-lacros-fishfood",
2413                    "gcs_path": "x86_64/{%position%}/lacros.zip",
2414                    "archive_type": "ARCHIVE_TYPE_ZIP",
2415                },
2416            ],
2417        },
2418    },
2419)
2420
2421ci.fyi_builder(
2422    name = "fuchsia-fyi-arm64-dbg",
2423    console_view_entry = consoles.console_view_entry(
2424        category = "fuchsia|a64",
2425        short_name = "dbg",
2426    ),
2427    notifies = ["cr-fuchsia"],
2428)
2429
2430ci.fyi_builder(
2431    name = "fuchsia-fyi-arm64-rel",
2432    console_view_entry = consoles.console_view_entry(
2433        category = "fuchsia|a64",
2434        short_name = "rel",
2435    ),
2436    notifies = ["cr-fuchsia"],
2437)
2438
2439ci.fyi_builder(
2440    name = "fuchsia-fyi-x64-dbg",
2441    console_view_entry = consoles.console_view_entry(
2442        category = "fuchsia|x64",
2443        short_name = "dbg",
2444    ),
2445    notifies = ["cr-fuchsia"],
2446)
2447
2448ci.fyi_builder(
2449    name = "fuchsia-fyi-x64-rel",
2450    console_view_entry = consoles.console_view_entry(
2451        category = "fuchsia|x64",
2452        short_name = "rel",
2453    ),
2454    notifies = ["cr-fuchsia"],
2455)
2456
2457ci.fyi_builder(
2458    name = "linux-annotator-rel",
2459    console_view_entry = consoles.console_view_entry(
2460        category = "network|traffic|annotations",
2461        short_name = "lnx",
2462    ),
2463    notifies = ["annotator-rel"],
2464)
2465
2466ci.fyi_builder(
2467    name = "linux-ash-chromium-builder-fyi-rel",
2468    console_view_entry = consoles.console_view_entry(
2469        category = "default",
2470        short_name = "lcr",
2471    ),
2472    properties = {
2473        # The format of these properties is defined at archive/properties.proto
2474        "$build/archive": {
2475            "archive_datas": [
2476                {
2477                    "files": [
2478                        "chrome",
2479                        "chrome_100_percent.pak",
2480                        "chrome_200_percent.pak",
2481                        "crashpad_handler",
2482                        "headless_lib.pak",
2483                        "icudtl.dat",
2484                        "libminigbm.so",
2485                        "nacl_helper",
2486                        "nacl_irt_x86_64.nexe",
2487                        "resources.pak",
2488                        "snapshot_blob.bin",
2489                    ],
2490                    "dirs": ["locales", "swiftshader"],
2491                    "gcs_bucket": "ash-chromium-on-linux-prebuilts",
2492                    "gcs_path": "x86_64/{%position%}/ash-chromium.zip",
2493                    "archive_type": "ARCHIVE_TYPE_ZIP",
2494                    "latest_upload": {
2495                        "gcs_path": "x86_64/latest/ash-chromium.txt",
2496                        "gcs_file_content": "{%position%}",
2497                    },
2498                },
2499            ],
2500        },
2501    },
2502)
2503
2504ci.fyi_builder(
2505    name = "linux-blink-animation-use-time-delta",
2506    console_view_entry = consoles.console_view_entry(
2507        category = "linux|blink",
2508        short_name = "TD",
2509    ),
2510)
2511
2512ci.fyi_builder(
2513    name = "linux-blink-heap-concurrent-marking-tsan-rel",
2514    console_view_entry = consoles.console_view_entry(
2515        category = "linux|blink",
2516        short_name = "CM",
2517    ),
2518)
2519
2520ci.fyi_builder(
2521    name = "linux-blink-heap-verification",
2522    console_view_entry = consoles.console_view_entry(
2523        category = "linux|blink",
2524        short_name = "VF",
2525    ),
2526    notifies = ["linux-blink-heap-verification"],
2527)
2528
2529ci.fyi_builder(
2530    name = "linux-chromium-tests-staging-builder",
2531    console_view_entry = consoles.console_view_entry(
2532        category = "recipe|staging|linux",
2533        short_name = "bld",
2534    ),
2535)
2536
2537ci.fyi_builder(
2538    name = "linux-chromium-tests-staging-tests",
2539    console_view_entry = consoles.console_view_entry(
2540        category = "recipe|staging|linux",
2541        short_name = "tst",
2542    ),
2543    triggered_by = ["linux-chromium-tests-staging-builder"],
2544)
2545
2546ci.fyi_builder(
2547    name = "linux-inverse-fieldtrials-fyi-rel",
2548    console_view_entry = consoles.console_view_entry(
2549        category = "linux",
2550    ),
2551)
2552
2553ci.fyi_builder(
2554    name = "linux-fieldtrial-rel",
2555    console_view_entry = consoles.console_view_entry(
2556        category = "linux",
2557    ),
2558)
2559
2560ci.fyi_builder(
2561    name = "linux-lacros-builder-fyi-rel",
2562    console_view_entry = consoles.console_view_entry(
2563        category = "linux",
2564    ),
2565)
2566
2567ci.fyi_builder(
2568    name = "linux-lacros-tester-fyi-rel",
2569    console_view_entry = consoles.console_view_entry(
2570        category = "linux",
2571    ),
2572    triggered_by = ["linux-lacros-builder-fyi-rel"],
2573)
2574
2575ci.fyi_builder(
2576    name = "linux-perfetto-rel",
2577    console_view_entry = consoles.console_view_entry(
2578        category = "linux",
2579    ),
2580)
2581
2582ci.fyi_builder(
2583    name = "linux-wpt-fyi-rel",
2584    console_view_entry = consoles.console_view_entry(
2585        category = "linux",
2586    ),
2587    experimental = True,
2588    goma_backend = goma.backend.RBE_PROD,
2589)
2590
2591ci.fyi_builder(
2592    name = "linux-wpt-identity-fyi-rel",
2593    console_view_entry = consoles.console_view_entry(
2594        category = "linux",
2595    ),
2596    experimental = True,
2597    goma_backend = goma.backend.RBE_PROD,
2598)
2599
2600ci.fyi_builder(
2601    name = "linux-wpt-payments-fyi-rel",
2602    console_view_entry = consoles.console_view_entry(
2603        category = "linux",
2604    ),
2605    experimental = True,
2606    goma_backend = goma.backend.RBE_PROD,
2607)
2608
2609# This is launching & collecting entirely isolated tests.
2610# OS shouldn't matter.
2611ci.fyi_builder(
2612    name = "mac-osxbeta-rel",
2613    console_view_entry = consoles.console_view_entry(
2614        category = "mac",
2615        short_name = "beta",
2616    ),
2617    goma_backend = goma.backend.RBE_PROD,
2618    main_console_view = None,
2619    triggered_by = ["ci/Mac Builder"],
2620)
2621
2622ci.updater_builder(
2623    name = "mac-updater-builder-rel",
2624    console_view_entry = consoles.console_view_entry(
2625        category = "updater|mac",
2626        short_name = "bld",
2627    ),
2628    os = os.MAC_ANY,
2629    cpu = cpu.X86_64,
2630    builderless = True,
2631    cores = None,
2632)
2633
2634ci.updater_builder(
2635    name = "mac10.11-updater-tester-rel",
2636    console_view_entry = consoles.console_view_entry(
2637        category = "updater|mac",
2638        short_name = "10.11",
2639    ),
2640    triggered_by = ["mac-updater-builder-rel"],
2641)
2642
2643ci.updater_builder(
2644    name = "mac10.12-updater-tester-rel",
2645    console_view_entry = consoles.console_view_entry(
2646        category = "updater|mac",
2647        short_name = "10.12",
2648    ),
2649    triggered_by = ["mac-updater-builder-rel"],
2650)
2651
2652ci.updater_builder(
2653    name = "mac10.13-updater-tester-rel",
2654    console_view_entry = consoles.console_view_entry(
2655        category = "updater|mac",
2656        short_name = "10.13",
2657    ),
2658    triggered_by = ["mac-updater-builder-rel"],
2659)
2660
2661ci.updater_builder(
2662    name = "mac10.14-updater-tester-rel",
2663    console_view_entry = consoles.console_view_entry(
2664        category = "updater|mac",
2665        short_name = "10.14",
2666    ),
2667    triggered_by = ["mac-updater-builder-rel"],
2668)
2669
2670ci.updater_builder(
2671    name = "mac10.15-updater-tester-rel",
2672    console_view_entry = consoles.console_view_entry(
2673        category = "updater|mac",
2674        short_name = "10.15",
2675    ),
2676    triggered_by = ["mac-updater-builder-rel"],
2677)
2678
2679ci.updater_builder(
2680    name = "win-updater-builder-rel",
2681    console_view_entry = consoles.console_view_entry(
2682        category = "updater|win",
2683        short_name = "bld",
2684    ),
2685    os = os.WINDOWS_DEFAULT,
2686    cpu = cpu.X86,
2687)
2688
2689ci.updater_builder(
2690    name = "win7-updater-tester-rel",
2691    console_view_entry = consoles.console_view_entry(
2692        category = "updater|win",
2693        short_name = "7",
2694    ),
2695    triggered_by = ["win-updater-builder-rel"],
2696)
2697
2698ci.updater_builder(
2699    name = "win10-updater-tester-rel",
2700    console_view_entry = consoles.console_view_entry(
2701        category = "updater|win",
2702        short_name = "10",
2703    ),
2704    os = os.WINDOWS_10,
2705    triggered_by = ["win-updater-builder-rel"],
2706)
2707
2708ci.fyi_builder(
2709    name = "win-paeverywhere-x86-fyi-dbg",
2710    builderless = True,
2711    console_view_entry = consoles.console_view_entry(
2712        category = "paeverywhere|win",
2713        short_name = "32dbg",
2714    ),
2715    notifies = ["chrome-memory-safety"],
2716    os = os.WINDOWS_ANY,
2717)
2718
2719ci.fyi_builder(
2720    name = "win-paeverywhere-x86-fyi-rel",
2721    builderless = True,
2722    console_view_entry = consoles.console_view_entry(
2723        category = "paeverywhere|win",
2724        short_name = "32rel",
2725    ),
2726    notifies = ["chrome-memory-safety"],
2727    os = os.WINDOWS_ANY,
2728)
2729
2730ci.fyi_builder(
2731    name = "win-paeverywhere-x64-fyi-dbg",
2732    builderless = True,
2733    console_view_entry = consoles.console_view_entry(
2734        category = "paeverywhere|win",
2735        short_name = "64dbg",
2736    ),
2737    notifies = ["chrome-memory-safety"],
2738    os = os.WINDOWS_ANY,
2739)
2740
2741ci.fyi_builder(
2742    name = "win-paeverywhere-x64-fyi-rel",
2743    builderless = True,
2744    console_view_entry = consoles.console_view_entry(
2745        category = "paeverywhere|win",
2746        short_name = "64rel",
2747    ),
2748    notifies = ["chrome-memory-safety"],
2749    os = os.WINDOWS_ANY,
2750)
2751
2752ci.fyi_builder(
2753    name = "win-pixel-builder-rel",
2754    console_view_entry = consoles.console_view_entry(
2755        category = "win10",
2756    ),
2757    os = os.WINDOWS_10,
2758)
2759
2760ci.fyi_builder(
2761    name = "win-pixel-tester-rel",
2762    console_view_entry = consoles.console_view_entry(
2763        category = "win10",
2764    ),
2765    os = None,
2766    triggered_by = ["win-pixel-builder-rel"],
2767)
2768
2769ci.fyi_builder(
2770    name = "linux-upload-perfetto",
2771    console_view_entry = consoles.console_view_entry(
2772        category = "perfetto",
2773        short_name = "lnx",
2774    ),
2775    os = os.LINUX_DEFAULT,
2776)
2777
2778ci.fyi_builder(
2779    name = "mac-upload-perfetto",
2780    builderless = True,
2781    console_view_entry = consoles.console_view_entry(
2782        category = "perfetto",
2783        short_name = "mac",
2784    ),
2785    os = os.MAC_DEFAULT,
2786    schedule = "with 3h interval",
2787    triggered_by = [],
2788)
2789
2790ci.fyi_builder(
2791    name = "win-upload-perfetto",
2792    builderless = True,
2793    console_view_entry = consoles.console_view_entry(
2794        category = "perfetto",
2795        short_name = "win",
2796    ),
2797    os = os.WINDOWS_DEFAULT,
2798    schedule = "with 3h interval",
2799    triggered_by = [],
2800)
2801
2802ci.fyi_celab_builder(
2803    name = "win-celab-builder-rel",
2804    console_view_entry = consoles.console_view_entry(
2805        category = "celab",
2806    ),
2807    schedule = "0 0,6,12,18 * * *",
2808    triggered_by = [],
2809)
2810
2811ci.fyi_celab_builder(
2812    name = "win-celab-tester-rel",
2813    console_view_entry = consoles.console_view_entry(
2814        category = "celab",
2815    ),
2816    triggered_by = ["win-celab-builder-rel"],
2817)
2818
2819ci.fyi_coverage_builder(
2820    name = "android-code-coverage",
2821    console_view_entry = consoles.console_view_entry(
2822        category = "code_coverage",
2823        short_name = "and",
2824    ),
2825    use_java_coverage = True,
2826    schedule = "triggered",
2827    triggered_by = [],
2828)
2829
2830ci.fyi_coverage_builder(
2831    name = "android-code-coverage-native",
2832    console_view_entry = consoles.console_view_entry(
2833        category = "code_coverage",
2834        short_name = "ann",
2835    ),
2836    use_clang_coverage = True,
2837)
2838
2839ci.fyi_coverage_builder(
2840    name = "ios-simulator-code-coverage",
2841    console_view_entry = consoles.console_view_entry(
2842        category = "code_coverage",
2843        short_name = "ios",
2844    ),
2845    cores = None,
2846    os = os.MAC_10_15,
2847    use_clang_coverage = True,
2848    coverage_exclude_sources = "ios_test_files_and_test_utils",
2849    coverage_test_types = ["overall", "unit"],
2850    xcode = xcode.x12a7209,
2851)
2852
2853ci.fyi_coverage_builder(
2854    name = "linux-chromeos-code-coverage",
2855    console_view_entry = consoles.console_view_entry(
2856        category = "code_coverage",
2857        short_name = "lcr",
2858    ),
2859    use_clang_coverage = True,
2860    schedule = "triggered",
2861    triggered_by = [],
2862)
2863
2864ci.fyi_coverage_builder(
2865    name = "linux-chromeos-js-code-coverage",
2866    console_view_entry = consoles.console_view_entry(
2867        category = "code_coverage",
2868        short_name = "jcr",
2869    ),
2870    use_javascript_coverage = True,
2871    schedule = "triggered",
2872    triggered_by = [],
2873)
2874
2875ci.fyi_coverage_builder(
2876    name = "linux-code-coverage",
2877    console_view_entry = consoles.console_view_entry(
2878        category = "code_coverage",
2879        short_name = "lnx",
2880    ),
2881    use_clang_coverage = True,
2882    triggered_by = [],
2883)
2884
2885ci.fyi_coverage_builder(
2886    name = "mac-code-coverage",
2887    builderless = True,
2888    console_view_entry = consoles.console_view_entry(
2889        category = "code_coverage",
2890        short_name = "mac",
2891    ),
2892    cores = 24,
2893    os = os.MAC_ANY,
2894    use_clang_coverage = True,
2895)
2896
2897ci.fyi_coverage_builder(
2898    name = "win10-code-coverage",
2899    builderless = True,
2900    console_view_entry = consoles.console_view_entry(
2901        category = "code_coverage",
2902        short_name = "win",
2903    ),
2904    os = os.WINDOWS_DEFAULT,
2905    use_clang_coverage = True,
2906)
2907
2908ci.fyi_ios_builder(
2909    name = "ios-asan",
2910    console_view_entry = consoles.console_view_entry(
2911        category = "iOS",
2912        short_name = "asan",
2913    ),
2914)
2915
2916ci.fyi_ios_builder(
2917    name = "ios-simulator-cr-recipe",
2918    console_view_entry = consoles.console_view_entry(
2919        category = "iOS",
2920        short_name = "chr",
2921    ),
2922)
2923
2924ci.fyi_ios_builder(
2925    name = "ios-simulator-cronet",
2926    branch_selector = branches.STANDARD_MILESTONE,
2927    console_view_entry = consoles.console_view_entry(
2928        category = "cronet",
2929    ),
2930    cq_mirrors_console_view = "mirrors",
2931    main_console_view = main_console_if_on_branch(),
2932    notifies = ["cronet"],
2933    xcode = xcode.x11e146,
2934)
2935
2936ci.fyi_ios_builder(
2937    name = "ios-simulator-multi-window",
2938    console_view_entry = consoles.console_view_entry(
2939        category = "iOS",
2940        short_name = "mwd",
2941    ),
2942)
2943
2944ci.fyi_ios_builder(
2945    name = "ios-webkit-tot",
2946    console_view_entry = consoles.console_view_entry(
2947        category = "iOS",
2948        short_name = "wk",
2949    ),
2950    schedule = "0 1-23/6 * * *",
2951    triggered_by = [],
2952    xcode = xcode.x11e608cwk,
2953)
2954
2955ci.fyi_ios_builder(
2956    name = "ios13-beta-simulator",
2957    console_view_entry = consoles.console_view_entry(
2958        category = "iOS|iOS13",
2959        short_name = "ios13",
2960    ),
2961    schedule = "0 0,12 * * *",
2962    triggered_by = [],
2963)
2964
2965ci.fyi_ios_builder(
2966    name = "ios13-sdk-device",
2967    console_view_entry = consoles.console_view_entry(
2968        category = "iOS|iOS13",
2969        short_name = "dev",
2970    ),
2971)
2972
2973ci.fyi_ios_builder(
2974    name = "ios13-sdk-simulator",
2975    console_view_entry = consoles.console_view_entry(
2976        category = "iOS|iOS13",
2977        short_name = "sdk13",
2978    ),
2979    schedule = "0 6,18 * * *",
2980    triggered_by = [],
2981)
2982
2983ci.fyi_ios_builder(
2984    name = "ios14-beta-simulator",
2985    console_view_entry = consoles.console_view_entry(
2986        category = "iOS|iOS14",
2987        short_name = "ios14",
2988    ),
2989)
2990
2991ci.fyi_ios_builder(
2992    name = "ios14-sdk-simulator",
2993    console_view_entry = consoles.console_view_entry(
2994        category = "iOS|iOS14",
2995        short_name = "sdk14",
2996    ),
2997    xcode = xcode.x12b5035g,
2998)
2999
3000ci.fyi_mac_builder(
3001    name = "Mac Builder Next",
3002    console_view_entry = consoles.console_view_entry(
3003        category = "mac",
3004        short_name = "bld",
3005    ),
3006    cores = None,
3007    os = None,
3008)
3009
3010ci.thin_tester(
3011    name = "Mac11.0 Tests",
3012    builder_group = "chromium.fyi",
3013    console_view_entry = consoles.console_view_entry(
3014        category = "mac",
3015        short_name = "11.0",
3016    ),
3017    triggered_by = ["Mac Builder Next"],
3018)
3019
3020ci.fyi_mac_builder(
3021    name = "Mac deterministic",
3022    console_view_entry = consoles.console_view_entry(
3023        category = "deterministic|mac",
3024        short_name = "rel",
3025    ),
3026    cores = None,
3027    executable = "recipe:swarming/deterministic_build",
3028    execution_timeout = 6 * time.hour,
3029)
3030
3031ci.fyi_mac_builder(
3032    name = "Mac deterministic (dbg)",
3033    console_view_entry = consoles.console_view_entry(
3034        category = "deterministic|mac",
3035        short_name = "dbg",
3036    ),
3037    cores = None,
3038    executable = "recipe:swarming/deterministic_build",
3039    execution_timeout = 6 * time.hour,
3040    os = os.MAC_10_15,
3041)
3042
3043ci.fyi_mac_builder(
3044    name = "mac-hermetic-upgrade-rel",
3045    console_view_entry = consoles.console_view_entry(
3046        category = "mac",
3047        short_name = "herm",
3048    ),
3049    cores = 8,
3050)
3051
3052ci.fyi_windows_builder(
3053    name = "Win10 Tests x64 1803",
3054    console_view_entry = consoles.console_view_entry(
3055        category = "win10|1803",
3056    ),
3057    goma_backend = None,
3058    main_console_view = None,
3059    os = os.WINDOWS_10,
3060    triggered_by = ["ci/Win x64 Builder"],
3061)
3062
3063ci.fyi_windows_builder(
3064    name = "Win10 Tests x64 1909",
3065    console_view_entry = consoles.console_view_entry(
3066        category = "win10|1909",
3067    ),
3068    goma_backend = None,
3069    main_console_view = None,
3070    os = os.WINDOWS_10,
3071    triggered_by = ["ci/Win x64 Builder"],
3072)
3073
3074ci.fyi_windows_builder(
3075    name = "Win 10 Fast Ring",
3076    console_view_entry = consoles.console_view_entry(
3077        category = "win10",
3078    ),
3079    os = os.WINDOWS_10,
3080    notifies = ["Win 10 Fast Ring"],
3081)
3082
3083ci.fyi_windows_builder(
3084    name = "win32-arm64-rel",
3085    console_view_entry = consoles.console_view_entry(
3086        category = "win32|arm64",
3087    ),
3088    cpu = cpu.X86,
3089    goma_jobs = goma.jobs.J150,
3090)
3091
3092ci.fyi_windows_builder(
3093    name = "win-annotator-rel",
3094    builderless = True,
3095    console_view_entry = consoles.console_view_entry(
3096        category = "network|traffic|annotations",
3097        short_name = "win",
3098    ),
3099    execution_timeout = 16 * time.hour,
3100    notifies = ["annotator-rel"],
3101)
3102
3103ci.fyi_windows_builder(
3104    name = "win10-inverse-fieldtrials-fyi-rel",
3105    builderless = True,
3106    console_view_entry = consoles.console_view_entry(
3107        category = "win10",
3108        short_name = "IFT",
3109    ),
3110    os = os.WINDOWS_10,
3111)
3112
3113ci.gpu_linux_builder(
3114    name = "Android Release (Nexus 5X)",
3115    branch_selector = branches.STANDARD_MILESTONE,
3116    console_view_entry = consoles.console_view_entry(
3117        category = "Android",
3118    ),
3119    cq_mirrors_console_view = "mirrors",
3120    main_console_view = main_console_if_on_branch(),
3121)
3122
3123ci.gpu_linux_builder(
3124    name = "GPU Linux Builder",
3125    branch_selector = branches.STANDARD_MILESTONE,
3126    console_view_entry = consoles.console_view_entry(
3127        category = "Linux",
3128    ),
3129    cq_mirrors_console_view = "mirrors",
3130    main_console_view = main_console_if_on_branch(),
3131)
3132
3133ci.gpu_linux_builder(
3134    name = "GPU Linux Builder (dbg)",
3135    console_view_entry = consoles.console_view_entry(
3136        category = "Linux",
3137    ),
3138    tree_closing = False,
3139)
3140
3141ci.gpu_mac_builder(
3142    name = "GPU Mac Builder",
3143    branch_selector = branches.STANDARD_MILESTONE,
3144    console_view_entry = consoles.console_view_entry(
3145        category = "Mac",
3146    ),
3147    cq_mirrors_console_view = "mirrors",
3148    main_console_view = main_console_if_on_branch(),
3149)
3150
3151ci.gpu_mac_builder(
3152    name = "GPU Mac Builder (dbg)",
3153    console_view_entry = consoles.console_view_entry(
3154        category = "Mac",
3155    ),
3156    tree_closing = False,
3157)
3158
3159ci.gpu_windows_builder(
3160    name = "GPU Win x64 Builder",
3161    branch_selector = branches.STANDARD_MILESTONE,
3162    console_view_entry = consoles.console_view_entry(
3163        category = "Windows",
3164    ),
3165    cq_mirrors_console_view = "mirrors",
3166    main_console_view = main_console_if_on_branch(),
3167)
3168
3169ci.gpu_windows_builder(
3170    name = "GPU Win x64 Builder (dbg)",
3171    console_view_entry = consoles.console_view_entry(
3172        category = "Windows",
3173    ),
3174    tree_closing = False,
3175)
3176
3177ci.gpu_thin_tester(
3178    name = "Linux Debug (NVIDIA)",
3179    console_view_entry = consoles.console_view_entry(
3180        category = "Linux",
3181    ),
3182    triggered_by = ["GPU Linux Builder (dbg)"],
3183    tree_closing = False,
3184)
3185
3186ci.gpu_thin_tester(
3187    name = "Linux Release (NVIDIA)",
3188    branch_selector = branches.STANDARD_MILESTONE,
3189    cq_mirrors_console_view = "mirrors",
3190    console_view_entry = consoles.console_view_entry(
3191        category = "Linux",
3192    ),
3193    main_console_view = main_console_if_on_branch(),
3194    triggered_by = [builder_name("GPU Linux Builder")],
3195)
3196
3197ci.gpu_thin_tester(
3198    name = "Mac Debug (Intel)",
3199    console_view_entry = consoles.console_view_entry(
3200        category = "Mac",
3201    ),
3202    triggered_by = ["GPU Mac Builder (dbg)"],
3203    tree_closing = False,
3204)
3205
3206ci.gpu_thin_tester(
3207    name = "Mac Release (Intel)",
3208    branch_selector = branches.STANDARD_MILESTONE,
3209    console_view_entry = consoles.console_view_entry(
3210        category = "Mac",
3211    ),
3212    cq_mirrors_console_view = "mirrors",
3213    main_console_view = main_console_if_on_branch(),
3214    triggered_by = [builder_name("GPU Mac Builder")],
3215)
3216
3217ci.gpu_thin_tester(
3218    name = "Mac Retina Debug (AMD)",
3219    console_view_entry = consoles.console_view_entry(
3220        category = "Mac",
3221    ),
3222    triggered_by = ["GPU Mac Builder (dbg)"],
3223    tree_closing = False,
3224)
3225
3226ci.gpu_thin_tester(
3227    name = "Mac Retina Release (AMD)",
3228    branch_selector = branches.STANDARD_MILESTONE,
3229    console_view_entry = consoles.console_view_entry(
3230        category = "Mac",
3231    ),
3232    cq_mirrors_console_view = "mirrors",
3233    main_console_view = main_console_if_on_branch(),
3234    triggered_by = [builder_name("GPU Mac Builder")],
3235)
3236
3237ci.gpu_thin_tester(
3238    name = "Win10 x64 Debug (NVIDIA)",
3239    console_view_entry = consoles.console_view_entry(
3240        category = "Windows",
3241    ),
3242    triggered_by = ["GPU Win x64 Builder (dbg)"],
3243    tree_closing = False,
3244)
3245
3246ci.gpu_thin_tester(
3247    name = "Win10 x64 Release (NVIDIA)",
3248    branch_selector = branches.STANDARD_MILESTONE,
3249    console_view_entry = consoles.console_view_entry(
3250        category = "Windows",
3251    ),
3252    cq_mirrors_console_view = "mirrors",
3253    main_console_view = main_console_if_on_branch(),
3254    triggered_by = [builder_name("GPU Win x64 Builder")],
3255)
3256
3257ci.gpu_fyi_linux_builder(
3258    name = "Android FYI 32 Vk Release (Pixel 2)",
3259    console_view_entry = consoles.console_view_entry(
3260        category = "Android|vk|Q32",
3261        short_name = "P2",
3262    ),
3263)
3264
3265ci.gpu_fyi_linux_builder(
3266    name = "Android FYI 32 dEQP Vk Release (Pixel 2)",
3267    console_view_entry = consoles.console_view_entry(
3268        category = "Android|dqp|vk|Q32",
3269        short_name = "P2",
3270    ),
3271)
3272
3273ci.gpu_fyi_thin_tester(
3274    name = "Android FYI 64 Perf (Pixel 2)",
3275    console_view_entry = consoles.console_view_entry(
3276        category = "Android|Perf|Q64",
3277        short_name = "P2",
3278    ),
3279    triggered_by = ["GPU FYI Perf Android 64 Builder"],
3280)
3281
3282ci.gpu_fyi_linux_builder(
3283    name = "Android FYI 64 Vk Release (Pixel 2)",
3284    console_view_entry = consoles.console_view_entry(
3285        category = "Android|vk|Q64",
3286        short_name = "P2",
3287    ),
3288)
3289
3290ci.gpu_fyi_linux_builder(
3291    name = "Android FYI 64 dEQP Vk Release (Pixel 2)",
3292    console_view_entry = consoles.console_view_entry(
3293        category = "Android|dqp|vk|Q64",
3294        short_name = "P2",
3295    ),
3296)
3297
3298ci.gpu_fyi_linux_builder(
3299    name = "Android FYI Release (NVIDIA Shield TV)",
3300    console_view_entry = consoles.console_view_entry(
3301        category = "Android|N64|NVDA",
3302        short_name = "STV",
3303    ),
3304)
3305
3306ci.gpu_fyi_linux_builder(
3307    name = "Android FYI Release (Nexus 5)",
3308    console_view_entry = consoles.console_view_entry(
3309        category = "Android|L32",
3310        short_name = "N5",
3311    ),
3312)
3313
3314ci.gpu_fyi_linux_builder(
3315    name = "Android FYI Release (Nexus 5X)",
3316    console_view_entry = consoles.console_view_entry(
3317        category = "Android|M64|QCOM",
3318        short_name = "N5X",
3319    ),
3320)
3321
3322ci.gpu_fyi_linux_builder(
3323    name = "Android FYI Release (Nexus 6)",
3324    console_view_entry = consoles.console_view_entry(
3325        category = "Android|L32",
3326        short_name = "N6",
3327    ),
3328)
3329
3330ci.gpu_fyi_linux_builder(
3331    name = "Android FYI Release (Nexus 6P)",
3332    console_view_entry = consoles.console_view_entry(
3333        category = "Android|M64|QCOM",
3334        short_name = "N6P",
3335    ),
3336)
3337
3338ci.gpu_fyi_linux_builder(
3339    name = "Android FYI Release (Nexus 9)",
3340    console_view_entry = consoles.console_view_entry(
3341        category = "Android|M64|NVDA",
3342        short_name = "N9",
3343    ),
3344)
3345
3346ci.gpu_fyi_linux_builder(
3347    name = "Android FYI Release (Pixel 2)",
3348    console_view_entry = consoles.console_view_entry(
3349        category = "Android|P32|QCOM",
3350        short_name = "P2",
3351    ),
3352)
3353
3354ci.gpu_fyi_linux_builder(
3355    name = "Android FYI SkiaRenderer GL (Nexus 5X)",
3356    console_view_entry = consoles.console_view_entry(
3357        category = "Android|skgl|M64",
3358        short_name = "N5X",
3359    ),
3360)
3361
3362ci.gpu_fyi_linux_builder(
3363    name = "Android FYI SkiaRenderer Vulkan (Pixel 2)",
3364    console_view_entry = consoles.console_view_entry(
3365        category = "Android|skv|P32",
3366        short_name = "P2",
3367    ),
3368)
3369
3370ci.gpu_fyi_linux_builder(
3371    name = "Android FYI dEQP Release (Nexus 5X)",
3372    console_view_entry = consoles.console_view_entry(
3373        category = "Android|dqp|M64",
3374        short_name = "N5X",
3375    ),
3376)
3377
3378ci.gpu_fyi_linux_builder(
3379    name = "ChromeOS FYI Release (amd64-generic)",
3380    console_view_entry = consoles.console_view_entry(
3381        category = "ChromeOS|amd64|generic",
3382        short_name = "x64",
3383    ),
3384)
3385
3386ci.gpu_fyi_linux_builder(
3387    name = "ChromeOS FYI Release (kevin)",
3388    console_view_entry = consoles.console_view_entry(
3389        category = "ChromeOS|arm|kevin",
3390        short_name = "kvn",
3391    ),
3392)
3393
3394ci.gpu_fyi_linux_builder(
3395    name = "GPU FYI Linux Builder",
3396    console_view_entry = consoles.console_view_entry(
3397        category = "Linux|Builder",
3398        short_name = "rel",
3399    ),
3400)
3401
3402ci.gpu_fyi_linux_builder(
3403    name = "GPU FYI Linux Builder (dbg)",
3404    console_view_entry = consoles.console_view_entry(
3405        category = "Linux|Builder",
3406        short_name = "dbg",
3407    ),
3408)
3409
3410ci.gpu_fyi_linux_builder(
3411    name = "GPU FYI Linux Ozone Builder",
3412    console_view_entry = consoles.console_view_entry(
3413        category = "Linux|Builder",
3414        short_name = "ozn",
3415    ),
3416)
3417
3418ci.gpu_fyi_linux_builder(
3419    name = "GPU FYI Linux dEQP Builder",
3420    console_view_entry = consoles.console_view_entry(
3421        category = "Linux|Builder",
3422        short_name = "dqp",
3423    ),
3424)
3425
3426ci.gpu_fyi_linux_builder(
3427    name = "GPU FYI Perf Android 64 Builder",
3428    console_view_entry = consoles.console_view_entry(
3429        category = "Android|Perf|Builder",
3430        short_name = "64",
3431    ),
3432)
3433
3434ci.gpu_fyi_linux_builder(
3435    name = "Linux FYI GPU TSAN Release",
3436    console_view_entry = consoles.console_view_entry(
3437        category = "Linux",
3438        short_name = "tsn",
3439    ),
3440)
3441
3442# Builder + tester.
3443ci.gpu_fyi_linux_builder(
3444    name = "Linux FYI SkiaRenderer Dawn Release (Intel HD 630)",
3445    console_view_entry = consoles.console_view_entry(
3446        category = "Linux|Intel",
3447        short_name = "skd",
3448    ),
3449)
3450
3451ci.gpu_fyi_mac_builder(
3452    name = "Mac FYI arm64 Release (Apple DTK)",
3453    console_view_entry = consoles.console_view_entry(
3454        category = "Mac",
3455        short_name = "dtk",
3456    ),
3457)
3458
3459ci.gpu_fyi_mac_builder(
3460    name = "Mac FYI GPU ASAN Release",
3461    console_view_entry = consoles.console_view_entry(
3462        category = "Mac",
3463        short_name = "asn",
3464    ),
3465)
3466
3467ci.gpu_fyi_mac_builder(
3468    name = "GPU FYI Mac Builder",
3469    console_view_entry = consoles.console_view_entry(
3470        category = "Mac|Builder",
3471        short_name = "rel",
3472    ),
3473)
3474
3475ci.gpu_fyi_mac_builder(
3476    name = "GPU FYI Mac Builder (dbg)",
3477    console_view_entry = consoles.console_view_entry(
3478        category = "Mac|Builder",
3479        short_name = "dbg",
3480    ),
3481)
3482
3483ci.gpu_fyi_mac_builder(
3484    name = "GPU FYI Mac dEQP Builder",
3485    console_view_entry = consoles.console_view_entry(
3486        category = "Mac|Builder",
3487        short_name = "dqp",
3488    ),
3489)
3490
3491ci.gpu_fyi_thin_tester(
3492    name = "Linux FYI Debug (NVIDIA)",
3493    console_view_entry = consoles.console_view_entry(
3494        category = "Linux|Nvidia",
3495        short_name = "dbg",
3496    ),
3497    triggered_by = ["GPU FYI Linux Builder (dbg)"],
3498)
3499
3500ci.gpu_fyi_thin_tester(
3501    name = "Linux FYI Experimental Release (Intel HD 630)",
3502    console_view_entry = consoles.console_view_entry(
3503        category = "Linux|Intel",
3504        short_name = "exp",
3505    ),
3506    triggered_by = ["GPU FYI Linux Builder"],
3507)
3508
3509ci.gpu_fyi_thin_tester(
3510    name = "Linux FYI Experimental Release (NVIDIA)",
3511    console_view_entry = consoles.console_view_entry(
3512        category = "Linux|Nvidia",
3513        short_name = "exp",
3514    ),
3515    triggered_by = ["GPU FYI Linux Builder"],
3516)
3517
3518ci.gpu_fyi_thin_tester(
3519    name = "Linux FYI Ozone (Intel)",
3520    console_view_entry = consoles.console_view_entry(
3521        category = "Linux|Intel",
3522        short_name = "ozn",
3523    ),
3524    triggered_by = ["GPU FYI Linux Ozone Builder"],
3525)
3526
3527ci.gpu_fyi_thin_tester(
3528    name = "Linux FYI Release (NVIDIA)",
3529    console_view_entry = consoles.console_view_entry(
3530        category = "Linux|Nvidia",
3531        short_name = "rel",
3532    ),
3533    triggered_by = ["GPU FYI Linux Builder"],
3534)
3535
3536ci.gpu_fyi_thin_tester(
3537    name = "Linux FYI Release (AMD R7 240)",
3538    console_view_entry = consoles.console_view_entry(
3539        category = "Linux|AMD",
3540        short_name = "240",
3541    ),
3542    triggered_by = ["GPU FYI Linux Builder"],
3543)
3544
3545ci.gpu_fyi_thin_tester(
3546    name = "Linux FYI Release (AMD RX 5500 XT)",
3547    console_view_entry = consoles.console_view_entry(
3548        category = "Linux|AMD",
3549        short_name = "rel",
3550    ),
3551    triggered_by = ["GPU FYI Linux Builder"],
3552)
3553
3554ci.gpu_fyi_thin_tester(
3555    name = "Linux FYI Release (Intel HD 630)",
3556    console_view_entry = consoles.console_view_entry(
3557        category = "Linux|Intel",
3558        short_name = "rel",
3559    ),
3560    triggered_by = ["GPU FYI Linux Builder"],
3561)
3562
3563ci.gpu_fyi_thin_tester(
3564    name = "Linux FYI Release (Intel UHD 630)",
3565    console_view_entry = consoles.console_view_entry(
3566        category = "Linux|Intel",
3567        short_name = "uhd",
3568    ),
3569    # TODO(https://crbug.com/986939): Remove this increased timeout once more
3570    # devices are added.
3571    execution_timeout = 18 * time.hour,
3572    triggered_by = ["GPU FYI Linux Builder"],
3573)
3574
3575ci.gpu_fyi_thin_tester(
3576    name = "Linux FYI SkiaRenderer Vulkan (Intel HD 630)",
3577    console_view_entry = consoles.console_view_entry(
3578        category = "Linux|Intel",
3579        short_name = "skv",
3580    ),
3581    triggered_by = ["GPU FYI Linux Builder"],
3582)
3583
3584ci.gpu_fyi_thin_tester(
3585    name = "Linux FYI SkiaRenderer Vulkan (NVIDIA)",
3586    console_view_entry = consoles.console_view_entry(
3587        category = "Linux|Nvidia",
3588        short_name = "skv",
3589    ),
3590    triggered_by = ["GPU FYI Linux Builder"],
3591)
3592
3593ci.gpu_fyi_thin_tester(
3594    name = "Linux FYI dEQP Release (Intel HD 630)",
3595    console_view_entry = consoles.console_view_entry(
3596        category = "Linux|Intel",
3597        short_name = "dqp",
3598    ),
3599    triggered_by = ["GPU FYI Linux dEQP Builder"],
3600)
3601
3602ci.gpu_fyi_thin_tester(
3603    name = "Linux FYI dEQP Release (NVIDIA)",
3604    console_view_entry = consoles.console_view_entry(
3605        category = "Linux|Nvidia",
3606        short_name = "dqp",
3607    ),
3608    triggered_by = ["GPU FYI Linux dEQP Builder"],
3609)
3610
3611ci.gpu_fyi_thin_tester(
3612    name = "Mac FYI Debug (Intel)",
3613    console_view_entry = consoles.console_view_entry(
3614        category = "Mac|Intel",
3615        short_name = "dbg",
3616    ),
3617    triggered_by = ["GPU FYI Mac Builder (dbg)"],
3618)
3619
3620ci.gpu_fyi_thin_tester(
3621    name = "Mac FYI Experimental Release (Intel)",
3622    console_view_entry = consoles.console_view_entry(
3623        category = "Mac|Intel",
3624        short_name = "exp",
3625    ),
3626    triggered_by = ["GPU FYI Mac Builder"],
3627)
3628
3629ci.gpu_fyi_thin_tester(
3630    name = "Mac FYI Experimental Retina Release (AMD)",
3631    console_view_entry = consoles.console_view_entry(
3632        category = "Mac|AMD|Retina",
3633        short_name = "exp",
3634    ),
3635    triggered_by = ["GPU FYI Mac Builder"],
3636)
3637
3638ci.gpu_fyi_thin_tester(
3639    name = "Mac FYI Experimental Retina Release (NVIDIA)",
3640    console_view_entry = consoles.console_view_entry(
3641        category = "Mac|Nvidia",
3642        short_name = "exp",
3643    ),
3644    # This bot has one machine backing its tests at the moment.
3645    # If it gets more, this can be removed.
3646    # See crbug.com/853307 for more context.
3647    execution_timeout = 12 * time.hour,
3648    triggered_by = ["GPU FYI Mac Builder"],
3649)
3650
3651ci.gpu_fyi_thin_tester(
3652    name = "Mac FYI Release (Intel)",
3653    console_view_entry = consoles.console_view_entry(
3654        category = "Mac|Intel",
3655        short_name = "rel",
3656    ),
3657    triggered_by = ["GPU FYI Mac Builder"],
3658)
3659
3660ci.gpu_fyi_thin_tester(
3661    name = "Mac FYI Release (Intel UHD 630)",
3662    console_view_entry = consoles.console_view_entry(
3663        category = "Mac|Intel",
3664        short_name = "uhd",
3665    ),
3666    triggered_by = ["GPU FYI Mac Builder"],
3667)
3668
3669ci.gpu_fyi_thin_tester(
3670    name = "Mac FYI Retina Debug (AMD)",
3671    console_view_entry = consoles.console_view_entry(
3672        category = "Mac|AMD|Retina",
3673        short_name = "dbg",
3674    ),
3675    triggered_by = ["GPU FYI Mac Builder (dbg)"],
3676)
3677
3678ci.gpu_fyi_thin_tester(
3679    name = "Mac FYI Retina Debug (NVIDIA)",
3680    console_view_entry = consoles.console_view_entry(
3681        category = "Mac|Nvidia",
3682        short_name = "dbg",
3683    ),
3684    triggered_by = ["GPU FYI Mac Builder (dbg)"],
3685)
3686
3687ci.gpu_fyi_thin_tester(
3688    name = "Mac FYI Retina Release (AMD)",
3689    console_view_entry = consoles.console_view_entry(
3690        category = "Mac|AMD|Retina",
3691        short_name = "rel",
3692    ),
3693    triggered_by = ["GPU FYI Mac Builder"],
3694)
3695
3696ci.gpu_fyi_thin_tester(
3697    name = "Mac FYI Retina Release (NVIDIA)",
3698    console_view_entry = consoles.console_view_entry(
3699        category = "Mac|Nvidia",
3700        short_name = "rel",
3701    ),
3702    triggered_by = ["GPU FYI Mac Builder"],
3703)
3704
3705ci.gpu_fyi_thin_tester(
3706    name = "Mac FYI dEQP Release AMD",
3707    console_view_entry = consoles.console_view_entry(
3708        category = "Mac|AMD",
3709        short_name = "dqp",
3710    ),
3711    triggered_by = ["GPU FYI Mac dEQP Builder"],
3712)
3713
3714ci.gpu_fyi_thin_tester(
3715    name = "Mac FYI dEQP Release Intel",
3716    console_view_entry = consoles.console_view_entry(
3717        category = "Mac|Intel",
3718        short_name = "dqp",
3719    ),
3720    triggered_by = ["GPU FYI Mac dEQP Builder"],
3721)
3722
3723ci.gpu_fyi_thin_tester(
3724    name = "Mac Pro FYI Release (AMD)",
3725    console_view_entry = consoles.console_view_entry(
3726        category = "Mac|AMD|Pro",
3727        short_name = "rel",
3728    ),
3729    triggered_by = ["GPU FYI Mac Builder"],
3730)
3731
3732ci.gpu_fyi_thin_tester(
3733    name = "Win10 FYI x64 Debug (NVIDIA)",
3734    console_view_entry = consoles.console_view_entry(
3735        category = "Windows|10|x64|Nvidia",
3736        short_name = "dbg",
3737    ),
3738    triggered_by = ["GPU FYI Win x64 Builder (dbg)"],
3739)
3740
3741ci.gpu_fyi_thin_tester(
3742    name = "Win10 FYI x64 DX12 Vulkan Debug (NVIDIA)",
3743    console_view_entry = consoles.console_view_entry(
3744        category = "Windows|10|x64|Nvidia|dx12vk",
3745        short_name = "dbg",
3746    ),
3747    triggered_by = ["GPU FYI Win x64 DX12 Vulkan Builder (dbg)"],
3748)
3749
3750ci.gpu_fyi_thin_tester(
3751    name = "Win10 FYI x64 DX12 Vulkan Release (NVIDIA)",
3752    console_view_entry = consoles.console_view_entry(
3753        category = "Windows|10|x64|Nvidia|dx12vk",
3754        short_name = "rel",
3755    ),
3756    triggered_by = ["GPU FYI Win x64 DX12 Vulkan Builder"],
3757)
3758
3759ci.gpu_fyi_thin_tester(
3760    name = "Win10 FYI x64 Exp Release (Intel HD 630)",
3761    console_view_entry = consoles.console_view_entry(
3762        category = "Windows|10|x64|Intel",
3763        short_name = "exp",
3764    ),
3765    triggered_by = ["GPU FYI Win x64 Builder"],
3766)
3767
3768ci.gpu_fyi_thin_tester(
3769    name = "Win10 FYI x64 Exp Release (NVIDIA)",
3770    console_view_entry = consoles.console_view_entry(
3771        category = "Windows|10|x64|Nvidia",
3772        short_name = "exp",
3773    ),
3774    triggered_by = ["GPU FYI Win x64 Builder"],
3775)
3776
3777ci.gpu_fyi_thin_tester(
3778    name = "Win10 FYI x64 Release (AMD RX 550)",
3779    console_view_entry = consoles.console_view_entry(
3780        category = "Windows|10|x64|AMD",
3781        short_name = "550",
3782    ),
3783    triggered_by = ["GPU FYI Win x64 Builder"],
3784)
3785
3786ci.gpu_fyi_thin_tester(
3787    name = "Win10 FYI x64 Release (AMD RX 5500 XT)",
3788    console_view_entry = consoles.console_view_entry(
3789        category = "Windows|10|x64|AMD",
3790        short_name = "rel",
3791    ),
3792    triggered_by = ["GPU FYI Win x64 Builder"],
3793)
3794
3795ci.gpu_fyi_thin_tester(
3796    name = "Win10 FYI x64 Release (Intel HD 630)",
3797    console_view_entry = consoles.console_view_entry(
3798        category = "Windows|10|x64|Intel",
3799        short_name = "rel",
3800    ),
3801    triggered_by = ["GPU FYI Win x64 Builder"],
3802)
3803
3804ci.gpu_fyi_thin_tester(
3805    name = "Win10 FYI x64 Release (Intel UHD 630)",
3806    console_view_entry = consoles.console_view_entry(
3807        category = "Windows|10|x64|Intel",
3808        short_name = "uhd",
3809    ),
3810    # TODO(https://crbug.com/986939): Remove this increased timeout once
3811    # more devices are added.
3812    execution_timeout = 18 * time.hour,
3813    triggered_by = ["GPU FYI Win x64 Builder"],
3814)
3815
3816ci.gpu_fyi_thin_tester(
3817    name = "Win10 FYI x64 Release (NVIDIA GeForce GTX 1660)",
3818    console_view_entry = consoles.console_view_entry(
3819        category = "Windows|10|x64|Nvidia",
3820        short_name = "gtx",
3821    ),
3822    execution_timeout = 18 * time.hour,
3823    triggered_by = ["GPU FYI Win x64 Builder"],
3824)
3825
3826ci.gpu_fyi_thin_tester(
3827    name = "Win10 FYI x64 Release (NVIDIA)",
3828    console_view_entry = consoles.console_view_entry(
3829        category = "Windows|10|x64|Nvidia",
3830        short_name = "rel",
3831    ),
3832    triggered_by = ["GPU FYI Win x64 Builder"],
3833)
3834
3835ci.gpu_fyi_thin_tester(
3836    name = "Win10 FYI x64 Release XR Perf (NVIDIA)",
3837    console_view_entry = consoles.console_view_entry(
3838        category = "Windows|10|x64|Nvidia",
3839        short_name = "xr",
3840    ),
3841    triggered_by = ["GPU FYI XR Win x64 Builder"],
3842)
3843
3844# Builder + tester.
3845ci.gpu_fyi_windows_builder(
3846    name = "Win10 FYI x64 SkiaRenderer Dawn Release (NVIDIA)",
3847    console_view_entry = consoles.console_view_entry(
3848        category = "Windows|10|x64|Nvidia",
3849        short_name = "skd",
3850    ),
3851)
3852
3853ci.gpu_fyi_thin_tester(
3854    name = "Win10 FYI x64 dEQP Release (Intel HD 630)",
3855    console_view_entry = consoles.console_view_entry(
3856        category = "Windows|10|x64|Intel",
3857        short_name = "dqp",
3858    ),
3859    triggered_by = ["GPU FYI Win x64 dEQP Builder"],
3860)
3861
3862ci.gpu_fyi_thin_tester(
3863    name = "Win10 FYI x64 dEQP Release (NVIDIA)",
3864    console_view_entry = consoles.console_view_entry(
3865        category = "Windows|10|x64|Nvidia",
3866        short_name = "dqp",
3867    ),
3868    triggered_by = ["GPU FYI Win x64 dEQP Builder"],
3869)
3870
3871ci.gpu_fyi_thin_tester(
3872    name = "Win10 FYI x86 Release (NVIDIA)",
3873    console_view_entry = consoles.console_view_entry(
3874        category = "Windows|10|x86|Nvidia",
3875        short_name = "rel",
3876    ),
3877    triggered_by = ["GPU FYI Win Builder"],
3878)
3879
3880ci.gpu_fyi_thin_tester(
3881    name = "Win7 FYI Debug (AMD)",
3882    console_view_entry = consoles.console_view_entry(
3883        category = "Windows|7|x86|AMD",
3884        short_name = "dbg",
3885    ),
3886    triggered_by = ["GPU FYI Win Builder (dbg)"],
3887)
3888
3889ci.gpu_fyi_thin_tester(
3890    name = "Win7 FYI Release (AMD)",
3891    console_view_entry = consoles.console_view_entry(
3892        category = "Windows|7|x86|AMD",
3893        short_name = "rel",
3894    ),
3895    triggered_by = ["GPU FYI Win Builder"],
3896)
3897
3898ci.gpu_fyi_thin_tester(
3899    name = "Win7 FYI Release (NVIDIA)",
3900    console_view_entry = consoles.console_view_entry(
3901        category = "Windows|7|x86|Nvidia",
3902        short_name = "rel",
3903    ),
3904    triggered_by = ["GPU FYI Win Builder"],
3905)
3906
3907ci.gpu_fyi_thin_tester(
3908    name = "Win7 FYI dEQP Release (AMD)",
3909    console_view_entry = consoles.console_view_entry(
3910        category = "Windows|7|x86|AMD",
3911        short_name = "dqp",
3912    ),
3913    triggered_by = ["GPU FYI Win dEQP Builder"],
3914)
3915
3916ci.gpu_fyi_thin_tester(
3917    name = "Win7 FYI x64 Release (NVIDIA)",
3918    console_view_entry = consoles.console_view_entry(
3919        category = "Windows|7|x64|Nvidia",
3920        short_name = "rel",
3921    ),
3922    triggered_by = ["GPU FYI Win x64 Builder"],
3923)
3924
3925ci.gpu_fyi_thin_tester(
3926    name = "Win7 FYI x64 dEQP Release (NVIDIA)",
3927    console_view_entry = consoles.console_view_entry(
3928        category = "Windows|7|x64|Nvidia",
3929        short_name = "dqp",
3930    ),
3931    triggered_by = ["GPU FYI Win x64 dEQP Builder"],
3932)
3933
3934ci.gpu_fyi_windows_builder(
3935    name = "GPU FYI Win Builder",
3936    console_view_entry = consoles.console_view_entry(
3937        category = "Windows|Builder|Release",
3938        short_name = "x86",
3939    ),
3940)
3941
3942ci.gpu_fyi_windows_builder(
3943    name = "GPU FYI Win Builder (dbg)",
3944    console_view_entry = consoles.console_view_entry(
3945        category = "Windows|Builder|Debug",
3946        short_name = "x86",
3947    ),
3948)
3949
3950ci.gpu_fyi_windows_builder(
3951    name = "GPU FYI Win dEQP Builder",
3952    console_view_entry = consoles.console_view_entry(
3953        category = "Windows|Builder|dEQP",
3954        short_name = "x86",
3955    ),
3956)
3957
3958ci.gpu_fyi_windows_builder(
3959    name = "GPU FYI Win x64 Builder",
3960    console_view_entry = consoles.console_view_entry(
3961        category = "Windows|Builder|Release",
3962        short_name = "x64",
3963    ),
3964)
3965
3966ci.gpu_fyi_windows_builder(
3967    name = "GPU FYI Win x64 Builder (dbg)",
3968    console_view_entry = consoles.console_view_entry(
3969        category = "Windows|Builder|Debug",
3970        short_name = "x64",
3971    ),
3972)
3973
3974ci.gpu_fyi_windows_builder(
3975    name = "GPU FYI Win x64 dEQP Builder",
3976    console_view_entry = consoles.console_view_entry(
3977        category = "Windows|Builder|dEQP",
3978        short_name = "x64",
3979    ),
3980)
3981
3982ci.gpu_fyi_windows_builder(
3983    name = "GPU FYI Win x64 DX12 Vulkan Builder",
3984    console_view_entry = consoles.console_view_entry(
3985        category = "Windows|Builder|dx12vk",
3986        short_name = "rel",
3987    ),
3988)
3989
3990ci.gpu_fyi_windows_builder(
3991    name = "GPU FYI Win x64 DX12 Vulkan Builder (dbg)",
3992    console_view_entry = consoles.console_view_entry(
3993        category = "Windows|Builder|dx12vk",
3994        short_name = "dbg",
3995    ),
3996)
3997
3998ci.gpu_fyi_windows_builder(
3999    name = "GPU FYI XR Win x64 Builder",
4000    console_view_entry = consoles.console_view_entry(
4001        category = "Windows|Builder|XR",
4002        short_name = "x64",
4003    ),
4004)
4005
4006ci.linux_builder(
4007    name = "Cast Audio Linux",
4008    console_view_entry = consoles.console_view_entry(
4009        category = "cast",
4010        short_name = "aud",
4011    ),
4012    main_console_view = "main",
4013    ssd = True,
4014)
4015
4016ci.linux_builder(
4017    name = "Cast Linux",
4018    branch_selector = branches.STANDARD_MILESTONE,
4019    console_view_entry = consoles.console_view_entry(
4020        category = "cast",
4021        short_name = "vid",
4022    ),
4023    cq_mirrors_console_view = "mirrors",
4024    goma_jobs = goma.jobs.J50,
4025    main_console_view = "main",
4026)
4027
4028ci.linux_builder(
4029    name = "Deterministic Fuchsia (dbg)",
4030    console_view_entry = consoles.console_view_entry(
4031        category = "fuchsia|x64",
4032        short_name = "det",
4033    ),
4034    executable = "recipe:swarming/deterministic_build",
4035    execution_timeout = 6 * time.hour,
4036    goma_jobs = None,
4037    main_console_view = "main",
4038)
4039
4040ci.linux_builder(
4041    name = "Deterministic Linux",
4042    console_view_entry = consoles.console_view_entry(
4043        category = "release",
4044        short_name = "det",
4045    ),
4046    executable = "recipe:swarming/deterministic_build",
4047    execution_timeout = 6 * time.hour,
4048    main_console_view = "main",
4049    # Set tree_closing to false to disable the defaualt tree closer, which
4050    # filters by step name, and instead enable tree closing for any step
4051    # failure.
4052    tree_closing = False,
4053    extra_notifies = ["Deterministic Linux", "close-on-any-step-failure"],
4054)
4055
4056ci.linux_builder(
4057    name = "Deterministic Linux (dbg)",
4058    console_view_entry = consoles.console_view_entry(
4059        category = "debug|builder",
4060        short_name = "det",
4061    ),
4062    cores = 32,
4063    executable = "recipe:swarming/deterministic_build",
4064    execution_timeout = 6 * time.hour,
4065    main_console_view = "main",
4066)
4067
4068ci.linux_builder(
4069    name = "Fuchsia ARM64",
4070    branch_selector = branches.STANDARD_MILESTONE,
4071    console_view_entry = consoles.console_view_entry(
4072        category = "fuchsia|a64",
4073        short_name = "rel",
4074    ),
4075    cq_mirrors_console_view = "mirrors",
4076    main_console_view = "main",
4077    extra_notifies = ["cr-fuchsia"],
4078)
4079
4080ci.linux_builder(
4081    name = "Fuchsia x64",
4082    branch_selector = branches.STANDARD_MILESTONE,
4083    console_view_entry = consoles.console_view_entry(
4084        category = "fuchsia|x64",
4085        short_name = "rel",
4086    ),
4087    cq_mirrors_console_view = "mirrors",
4088    main_console_view = "main",
4089    extra_notifies = ["cr-fuchsia"],
4090)
4091
4092ci.linux_builder(
4093    name = "Leak Detection Linux",
4094    console_view_entry = consoles.console_view_entry(
4095        console_view = "chromium.fyi",
4096        category = "linux",
4097        short_name = "lk",
4098    ),
4099    notifies = [],
4100    tree_closing = False,
4101)
4102
4103ci.linux_builder(
4104    name = "Linux Builder",
4105    branch_selector = branches.STANDARD_MILESTONE,
4106    console_view_entry = consoles.console_view_entry(
4107        category = "release",
4108        short_name = "bld",
4109    ),
4110    cq_mirrors_console_view = "mirrors",
4111    main_console_view = "main",
4112)
4113
4114ci.linux_builder(
4115    name = "Linux Builder (dbg)",
4116    branch_selector = branches.STANDARD_MILESTONE,
4117    console_view_entry = consoles.console_view_entry(
4118        category = "debug|builder",
4119        short_name = "64",
4120    ),
4121    cq_mirrors_console_view = "mirrors",
4122    main_console_view = "main",
4123)
4124
4125ci.linux_builder(
4126    name = "Linux Builder (dbg)(32)",
4127    console_view_entry = consoles.console_view_entry(
4128        category = "debug|builder",
4129        short_name = "32",
4130    ),
4131    main_console_view = "main",
4132)
4133
4134ci.linux_builder(
4135    name = "Linux Tests",
4136    branch_selector = branches.STANDARD_MILESTONE,
4137    console_view_entry = consoles.console_view_entry(
4138        category = "release",
4139        short_name = "tst",
4140    ),
4141    cq_mirrors_console_view = "mirrors",
4142    goma_backend = None,
4143    main_console_view = "main",
4144    triggered_by = [builder_name("Linux Builder")],
4145)
4146
4147ci.linux_builder(
4148    name = "Linux Tests (dbg)(1)",
4149    branch_selector = branches.STANDARD_MILESTONE,
4150    console_view_entry = consoles.console_view_entry(
4151        category = "debug|tester",
4152        short_name = "64",
4153    ),
4154    cq_mirrors_console_view = "mirrors",
4155    main_console_view = "main",
4156    triggered_by = [builder_name("Linux Builder (dbg)")],
4157)
4158
4159ci.linux_builder(
4160    name = "fuchsia-arm64-cast",
4161    branch_selector = branches.STANDARD_MILESTONE,
4162    console_view_entry = consoles.console_view_entry(
4163        category = "fuchsia|cast",
4164        short_name = "a64",
4165    ),
4166    cq_mirrors_console_view = "mirrors",
4167    main_console_view = "main",
4168    # Set tree_closing to false to disable the defaualt tree closer, which
4169    # filters by step name, and instead enable tree closing for any step
4170    # failure.
4171    tree_closing = False,
4172    extra_notifies = ["cr-fuchsia", "close-on-any-step-failure"],
4173)
4174
4175ci.linux_builder(
4176    name = "Network Service Linux",
4177    console_view_entry = consoles.console_view_entry(
4178        category = "release",
4179        short_name = "nsl",
4180    ),
4181    main_console_view = "main",
4182)
4183
4184ci.linux_builder(
4185    name = "fuchsia-x64-cast",
4186    branch_selector = branches.STANDARD_MILESTONE,
4187    console_view_entry = consoles.console_view_entry(
4188        category = "fuchsia|cast",
4189        short_name = "x64",
4190    ),
4191    cq_mirrors_console_view = "mirrors",
4192    main_console_view = "main",
4193    # Set tree_closing to false to disable the defaualt tree closer, which
4194    # filters by step name, and instead enable tree closing for any step
4195    # failure.
4196    tree_closing = False,
4197    extra_notifies = ["cr-fuchsia", "close-on-any-step-failure"],
4198)
4199
4200ci.linux_builder(
4201    name = "fuchsia-x64-dbg",
4202    console_view_entry = consoles.console_view_entry(
4203        category = "fuchsia|x64",
4204        short_name = "dbg",
4205    ),
4206    main_console_view = "main",
4207    extra_notifies = ["cr-fuchsia"],
4208)
4209
4210ci.linux_builder(
4211    name = "linux-bfcache-rel",
4212    console_view_entry = consoles.console_view_entry(
4213        category = "bfcache",
4214        short_name = "bfc",
4215    ),
4216    main_console_view = "main",
4217)
4218
4219ci.linux_builder(
4220    name = "linux-gcc-rel",
4221    console_view_entry = consoles.console_view_entry(
4222        category = "release",
4223        short_name = "gcc",
4224    ),
4225    goma_backend = None,
4226    main_console_view = "main",
4227)
4228
4229ci.linux_builder(
4230    name = "linux-ozone-rel",
4231    branch_selector = branches.STANDARD_MILESTONE,
4232    console_view_entry = consoles.console_view_entry(
4233        category = "release",
4234        short_name = "ozo",
4235    ),
4236    cq_mirrors_console_view = "mirrors",
4237    main_console_view = "main",
4238    # Set tree_closing to false to disable the defaualt tree closer, which
4239    # filters by step name, and instead enable tree closing for any step
4240    # failure.
4241    tree_closing = False,
4242    extra_notifies = ["linux-ozone-rel", "close-on-any-step-failure"],
4243)
4244
4245ci.linux_builder(
4246    name = "Linux Ozone Tester (Headless)",
4247    branch_selector = branches.STANDARD_MILESTONE,
4248    console_view_entry = consoles.console_view_entry(
4249        console_view = "chromium.fyi",
4250        category = "linux",
4251        short_name = "loh",
4252    ),
4253    cq_mirrors_console_view = "mirrors",
4254    main_console_view = main_console_if_on_branch(),
4255    triggered_by = [builder_name("linux-ozone-rel")],
4256)
4257
4258ci.linux_builder(
4259    name = "Linux Ozone Tester (Wayland)",
4260    branch_selector = branches.STANDARD_MILESTONE,
4261    console_view_entry = consoles.console_view_entry(
4262        console_view = "chromium.fyi",
4263        category = "linux",
4264        short_name = "low",
4265    ),
4266    cq_mirrors_console_view = "mirrors",
4267    main_console_view = main_console_if_on_branch(),
4268    triggered_by = [builder_name("linux-ozone-rel")],
4269)
4270
4271ci.linux_builder(
4272    name = "Linux Ozone Tester (X11)",
4273    branch_selector = branches.STANDARD_MILESTONE,
4274    console_view_entry = consoles.console_view_entry(
4275        console_view = "chromium.fyi",
4276        category = "linux",
4277        short_name = "lox",
4278    ),
4279    cq_mirrors_console_view = "mirrors",
4280    main_console_view = main_console_if_on_branch(),
4281    triggered_by = [builder_name("linux-ozone-rel")],
4282)
4283
4284ci.linux_builder(
4285    # CI tester for Ozone/Headless
4286    name = "Linux Tester (Ozone Headless)",
4287    branch_selector = branches.STANDARD_MILESTONE,
4288    console_view_entry = consoles.console_view_entry(
4289        category = "release|ozone",
4290        short_name = "ltoh",
4291    ),
4292    main_console_view = "main",
4293    cq_mirrors_console_view = "mirrors",
4294    triggered_by = [builder_name("linux-ozone-rel")],
4295    tree_closing = False,
4296)
4297
4298ci.linux_builder(
4299    # CI tester for Ozone/Wayland
4300    name = "Linux Tester (Ozone Wayland)",
4301    branch_selector = branches.STANDARD_MILESTONE,
4302    console_view_entry = consoles.console_view_entry(
4303        category = "release|ozone",
4304        short_name = "ltow",
4305    ),
4306    main_console_view = "main",
4307    cq_mirrors_console_view = "mirrors",
4308    triggered_by = [builder_name("linux-ozone-rel")],
4309    tree_closing = False,
4310)
4311
4312ci.linux_builder(
4313    # CI tester for Ozone/X11
4314    name = "Linux Tester (Ozone X11)",
4315    branch_selector = branches.STANDARD_MILESTONE,
4316    console_view_entry = consoles.console_view_entry(
4317        category = "release|ozone",
4318        short_name = "ltox",
4319    ),
4320    main_console_view = "main",
4321    cq_mirrors_console_view = "mirrors",
4322    triggered_by = [builder_name("linux-ozone-rel")],
4323    tree_closing = False,
4324)
4325
4326ci.linux_builder(
4327    name = "linux-trusty-rel",
4328    console_view_entry = consoles.console_view_entry(
4329        category = "release",
4330        short_name = "tru",
4331    ),
4332    main_console_view = "main",
4333    os = os.LINUX_TRUSTY,
4334)
4335
4336ci.linux_builder(
4337    name = "metadata-exporter",
4338    executable = "recipe:chromium_export_metadata",
4339    service_account = "component-mapping-updater@chops-service-accounts.iam.gserviceaccount.com",
4340    notifies = ["metadata-mapping"],
4341    tree_closing = False,
4342)
4343
4344ci.mac_builder(
4345    name = "Mac Builder",
4346    branch_selector = branches.STANDARD_MILESTONE,
4347    console_view_entry = consoles.console_view_entry(
4348        category = "release",
4349        short_name = "bld",
4350    ),
4351    cq_mirrors_console_view = "mirrors",
4352    main_console_view = "main",
4353    os = os.MAC_10_15,
4354)
4355
4356ci.mac_builder(
4357    name = "Mac Builder (dbg)",
4358    branch_selector = branches.STANDARD_MILESTONE,
4359    console_view_entry = consoles.console_view_entry(
4360        category = "debug",
4361        short_name = "bld",
4362    ),
4363    cq_mirrors_console_view = "mirrors",
4364    main_console_view = "main",
4365    os = os.MAC_ANY,
4366)
4367
4368ci.mac_builder(
4369    name = "mac-arm64-rel",
4370    branch_selector = branches.STANDARD_MILESTONE,
4371    console_view_entry = consoles.console_view_entry(
4372        category = "release|arm64",
4373        short_name = "bld",
4374    ),
4375    main_console_view = "main",
4376    cores = None,
4377    os = os.MAC_ANY,
4378)
4379
4380# TODO(estaab) When promoting out of FYI, make tree_closing True and make
4381# branch_selector branches.STANDARD_RELEASES, then remove the entry for this
4382# builder from //generators/scheduler-noop-jobs.star
4383ci.thin_tester(
4384    name = "mac-arm64-rel-tests",
4385    builder_group = "chromium.fyi",
4386    console_view_entry = consoles.console_view_entry(
4387        category = "mac",
4388        short_name = "a64",
4389    ),
4390    # TODO(gbeaty) Once we have sufficient test capacity to not need to
4391    # serialize tests, use the default execution_timout
4392    execution_timeout = 6 * time.hour,
4393    tree_closing = False,
4394    triggered_by = [builder_name("mac-arm64-rel")],
4395)
4396
4397ci.thin_tester(
4398    name = "Mac10.11 Tests",
4399    branch_selector = branches.STANDARD_MILESTONE,
4400    builder_group = "chromium.mac",
4401    console_view_entry = consoles.console_view_entry(
4402        category = "release",
4403        short_name = "11",
4404    ),
4405    cq_mirrors_console_view = "mirrors",
4406    main_console_view = "main",
4407    triggered_by = [builder_name("Mac Builder")],
4408)
4409
4410ci.thin_tester(
4411    name = "Mac10.12 Tests",
4412    branch_selector = branches.STANDARD_MILESTONE,
4413    builder_group = "chromium.mac",
4414    console_view_entry = consoles.console_view_entry(
4415        category = "release",
4416        short_name = "12",
4417    ),
4418    cq_mirrors_console_view = "mirrors",
4419    main_console_view = "main",
4420    triggered_by = [builder_name("Mac Builder")],
4421)
4422
4423ci.thin_tester(
4424    name = "Mac10.13 Tests",
4425    branch_selector = branches.STANDARD_MILESTONE,
4426    builder_group = "chromium.mac",
4427    console_view_entry = consoles.console_view_entry(
4428        category = "release",
4429        short_name = "13",
4430    ),
4431    cq_mirrors_console_view = "mirrors",
4432    main_console_view = "main",
4433    triggered_by = [builder_name("Mac Builder")],
4434)
4435
4436ci.thin_tester(
4437    name = "Mac10.14 Tests",
4438    branch_selector = branches.STANDARD_MILESTONE,
4439    builder_group = "chromium.mac",
4440    console_view_entry = consoles.console_view_entry(
4441        category = "release",
4442        short_name = "14",
4443    ),
4444    cq_mirrors_console_view = "mirrors",
4445    main_console_view = "main",
4446    triggered_by = [builder_name("Mac Builder")],
4447)
4448
4449ci.thin_tester(
4450    name = "Mac10.15 Tests",
4451    branch_selector = branches.STANDARD_MILESTONE,
4452    builder_group = "chromium.mac",
4453    console_view_entry = consoles.console_view_entry(
4454        category = "release",
4455        short_name = "15",
4456    ),
4457    cq_mirrors_console_view = "mirrors",
4458    main_console_view = "main",
4459    triggered_by = [builder_name("Mac Builder")],
4460)
4461
4462ci.thin_tester(
4463    name = "Mac10.13 Tests (dbg)",
4464    branch_selector = branches.STANDARD_MILESTONE,
4465    builder_group = "chromium.mac",
4466    console_view_entry = consoles.console_view_entry(
4467        category = "debug",
4468        short_name = "13",
4469    ),
4470    cq_mirrors_console_view = "mirrors",
4471    main_console_view = "main",
4472    triggered_by = [builder_name("Mac Builder (dbg)")],
4473)
4474
4475ci.mac_ios_builder(
4476    name = "ios-device",
4477    console_view_entry = consoles.console_view_entry(
4478        category = "ios|default",
4479        short_name = "dev",
4480    ),
4481    # We don't have necessary capacity to run this configuration in CQ, but it
4482    # is part of the main waterfall
4483    main_console_view = "main",
4484)
4485
4486ci.mac_ios_builder(
4487    name = "ios-simulator",
4488    branch_selector = branches.STANDARD_MILESTONE,
4489    console_view_entry = consoles.console_view_entry(
4490        category = "ios|default",
4491        short_name = "sim",
4492    ),
4493    cq_mirrors_console_view = "mirrors",
4494    main_console_view = "main",
4495)
4496
4497ci.mac_ios_builder(
4498    name = "ios-simulator-full-configs",
4499    branch_selector = branches.STANDARD_MILESTONE,
4500    console_view_entry = consoles.console_view_entry(
4501        category = "ios|default",
4502        short_name = "ful",
4503    ),
4504    cq_mirrors_console_view = "mirrors",
4505    main_console_view = "main",
4506)
4507
4508ci.mac_ios_builder(
4509    name = "ios-simulator-noncq",
4510    console_view_entry = consoles.console_view_entry(
4511        category = "ios|default",
4512        short_name = "non",
4513    ),
4514    # We don't have necessary capacity to run this configuration in CQ, but it
4515    # is part of the main waterfall
4516    main_console_view = "main",
4517)
4518
4519ci.memory_builder(
4520    name = "Android CFI",
4521    console_view_entry = consoles.console_view_entry(
4522        # TODO(https://crbug.com/1008094) When this builder is not consistently
4523        # failing, remove the console_view value
4524        console_view = "chromium.android.fyi",
4525        category = "memory",
4526        short_name = "cfi",
4527    ),
4528    cores = 32,
4529    # TODO(https://crbug.com/919430) Remove the larger timeout once compile
4530    # times have been brought down to reasonable level
4531    execution_timeout = 4 * time.hour + 30 * time.minute,
4532    tree_closing = False,
4533)
4534
4535ci.memory_builder(
4536    name = "Linux ASan LSan Builder",
4537    branch_selector = branches.STANDARD_MILESTONE,
4538    console_view_entry = consoles.console_view_entry(
4539        category = "linux|asan lsan",
4540        short_name = "bld",
4541    ),
4542    cq_mirrors_console_view = "mirrors",
4543    main_console_view = "main",
4544    ssd = True,
4545)
4546
4547ci.memory_builder(
4548    name = "Linux ASan LSan Tests (1)",
4549    branch_selector = branches.STANDARD_MILESTONE,
4550    console_view_entry = consoles.console_view_entry(
4551        category = "linux|asan lsan",
4552        short_name = "tst",
4553    ),
4554    cq_mirrors_console_view = "mirrors",
4555    main_console_view = "main",
4556    triggered_by = [builder_name("Linux ASan LSan Builder")],
4557)
4558
4559ci.memory_builder(
4560    name = "Linux ASan Tests (sandboxed)",
4561    branch_selector = branches.STANDARD_MILESTONE,
4562    console_view_entry = consoles.console_view_entry(
4563        category = "linux|asan lsan",
4564        short_name = "sbx",
4565    ),
4566    cq_mirrors_console_view = "mirrors",
4567    main_console_view = "main",
4568    triggered_by = [builder_name("Linux ASan LSan Builder")],
4569)
4570
4571ci.memory_builder(
4572    name = "Linux TSan Builder",
4573    branch_selector = branches.STANDARD_MILESTONE,
4574    console_view_entry = consoles.console_view_entry(
4575        category = "linux|TSan v2",
4576        short_name = "bld",
4577    ),
4578    cq_mirrors_console_view = "mirrors",
4579    main_console_view = "main",
4580)
4581
4582ci.memory_builder(
4583    name = "Linux CFI",
4584    console_view_entry = consoles.console_view_entry(
4585        category = "cfi",
4586        short_name = "lnx",
4587    ),
4588    cores = 32,
4589    # TODO(thakis): Remove once https://crbug.com/927738 is resolved.
4590    execution_timeout = 4 * time.hour,
4591    goma_jobs = goma.jobs.MANY_JOBS_FOR_CI,
4592    main_console_view = "main",
4593)
4594
4595ci.memory_builder(
4596    name = "Linux Chromium OS ASan LSan Builder",
4597    console_view_entry = consoles.console_view_entry(
4598        category = "cros|asan",
4599        short_name = "bld",
4600    ),
4601    # TODO(crbug.com/1030593): Builds take more than 3 hours sometimes. Remove
4602    # once the builds are faster.
4603    execution_timeout = 6 * time.hour,
4604    main_console_view = "main",
4605)
4606
4607ci.memory_builder(
4608    name = "Linux Chromium OS ASan LSan Tests (1)",
4609    console_view_entry = consoles.console_view_entry(
4610        category = "cros|asan",
4611        short_name = "tst",
4612    ),
4613    triggered_by = ["Linux Chromium OS ASan LSan Builder"],
4614    main_console_view = "main",
4615)
4616
4617ci.memory_builder(
4618    name = "Linux ChromiumOS MSan Builder",
4619    console_view_entry = consoles.console_view_entry(
4620        category = "cros|msan",
4621        short_name = "bld",
4622    ),
4623    main_console_view = "main",
4624)
4625
4626ci.memory_builder(
4627    name = "Linux ChromiumOS MSan Tests",
4628    console_view_entry = consoles.console_view_entry(
4629        category = "cros|msan",
4630        short_name = "tst",
4631    ),
4632    triggered_by = ["Linux ChromiumOS MSan Builder"],
4633    main_console_view = "main",
4634)
4635
4636ci.memory_builder(
4637    name = "Linux MSan Builder",
4638    console_view_entry = consoles.console_view_entry(
4639        category = "linux|msan",
4640        short_name = "bld",
4641    ),
4642    goma_jobs = goma.jobs.MANY_JOBS_FOR_CI,
4643    main_console_view = "main",
4644)
4645
4646ci.memory_builder(
4647    name = "Linux MSan Tests",
4648    console_view_entry = consoles.console_view_entry(
4649        category = "linux|msan",
4650        short_name = "tst",
4651    ),
4652    triggered_by = ["Linux MSan Builder"],
4653    main_console_view = "main",
4654)
4655
4656ci.memory_builder(
4657    name = "Mac ASan 64 Builder",
4658    builderless = False,
4659    console_view_entry = consoles.console_view_entry(
4660        category = "mac",
4661        short_name = "bld",
4662    ),
4663    goma_debug = True,  # TODO(hinoka): Remove this after debugging.
4664    goma_jobs = None,
4665    cores = None,  # Swapping between 8 and 24
4666    main_console_view = "main",
4667    os = os.MAC_DEFAULT,
4668    triggering_policy = scheduler.greedy_batching(
4669        max_concurrent_invocations = 2,
4670    ),
4671)
4672
4673ci.memory_builder(
4674    name = "Linux TSan Tests",
4675    branch_selector = branches.STANDARD_MILESTONE,
4676    console_view_entry = consoles.console_view_entry(
4677        category = "linux|TSan v2",
4678        short_name = "tst",
4679    ),
4680    cq_mirrors_console_view = "mirrors",
4681    triggered_by = [builder_name("Linux TSan Builder")],
4682    main_console_view = "main",
4683)
4684
4685ci.memory_builder(
4686    name = "Mac ASan 64 Tests (1)",
4687    builderless = False,
4688    console_view_entry = consoles.console_view_entry(
4689        category = "mac",
4690        short_name = "tst",
4691    ),
4692    main_console_view = "main",
4693    os = os.MAC_DEFAULT,
4694    triggered_by = ["Mac ASan 64 Builder"],
4695)
4696
4697ci.memory_builder(
4698    name = "WebKit Linux ASAN",
4699    console_view_entry = consoles.console_view_entry(
4700        category = "linux|webkit",
4701        short_name = "asn",
4702    ),
4703    main_console_view = "main",
4704)
4705
4706ci.memory_builder(
4707    name = "WebKit Linux Leak",
4708    console_view_entry = consoles.console_view_entry(
4709        category = "linux|webkit",
4710        short_name = "lk",
4711    ),
4712    main_console_view = "main",
4713)
4714
4715ci.memory_builder(
4716    name = "WebKit Linux MSAN",
4717    console_view_entry = consoles.console_view_entry(
4718        category = "linux|webkit",
4719        short_name = "msn",
4720    ),
4721    main_console_view = "main",
4722)
4723
4724ci.memory_builder(
4725    name = "android-asan",
4726    console_view_entry = consoles.console_view_entry(
4727        category = "android",
4728        short_name = "asn",
4729    ),
4730    main_console_view = "main",
4731    tree_closing = False,
4732)
4733
4734ci.memory_builder(
4735    name = "win-asan",
4736    console_view_entry = consoles.console_view_entry(
4737        category = "win",
4738        short_name = "asn",
4739    ),
4740    cores = 32,
4741    builderless = True,
4742    main_console_view = "main",
4743    os = os.WINDOWS_DEFAULT,
4744)
4745
4746ci.mojo_builder(
4747    name = "Mojo Android",
4748    console_view_entry = consoles.console_view_entry(
4749        short_name = "and",
4750    ),
4751)
4752
4753ci.mojo_builder(
4754    name = "Mojo ChromiumOS",
4755    console_view_entry = consoles.console_view_entry(
4756        short_name = "cr",
4757    ),
4758)
4759
4760ci.mojo_builder(
4761    name = "Mojo Linux",
4762    console_view_entry = consoles.console_view_entry(
4763        short_name = "lnx",
4764    ),
4765)
4766
4767ci.mojo_builder(
4768    name = "Mojo Windows",
4769    builderless = False,
4770    console_view_entry = consoles.console_view_entry(
4771        short_name = "win",
4772    ),
4773    os = os.WINDOWS_DEFAULT,
4774)
4775
4776ci.mojo_builder(
4777    name = "android-mojo-webview-rel",
4778    console_view_entry = consoles.console_view_entry(
4779        short_name = "aw",
4780    ),
4781)
4782
4783ci.mojo_builder(
4784    name = "mac-mojo-rel",
4785    console_view_entry = consoles.console_view_entry(
4786        short_name = "mac",
4787    ),
4788    cores = 4,
4789    os = os.MAC_ANY,
4790)
4791
4792ci.swangle_linux_builder(
4793    name = "linux-swangle-chromium-x64",
4794    console_view_entry = consoles.console_view_entry(
4795        category = "Chromium|Linux",
4796        short_name = "x64",
4797    ),
4798    pinned = False,
4799)
4800
4801ci.swangle_linux_builder(
4802    name = "linux-swangle-tot-angle-x64",
4803    console_view_entry = consoles.console_view_entry(
4804        category = "ToT ANGLE|Linux",
4805        short_name = "x64",
4806    ),
4807)
4808
4809ci.swangle_linux_builder(
4810    name = "linux-swangle-tot-angle-x86",
4811    console_view_entry = consoles.console_view_entry(
4812        category = "ToT ANGLE|Linux",
4813        short_name = "x86",
4814    ),
4815)
4816
4817ci.swangle_linux_builder(
4818    name = "linux-swangle-tot-swiftshader-x64",
4819    console_view_entry = consoles.console_view_entry(
4820        category = "ToT SwiftShader|Linux",
4821        short_name = "x64",
4822    ),
4823)
4824
4825ci.swangle_linux_builder(
4826    name = "linux-swangle-tot-swiftshader-x86",
4827    console_view_entry = consoles.console_view_entry(
4828        category = "ToT SwiftShader|Linux",
4829        short_name = "x86",
4830    ),
4831)
4832
4833ci.swangle_linux_builder(
4834    name = "linux-swangle-x64",
4835    console_view_entry = consoles.console_view_entry(
4836        category = "DEPS|Linux",
4837        short_name = "x64",
4838    ),
4839    pinned = False,
4840)
4841
4842ci.swangle_linux_builder(
4843    name = "linux-swangle-x86",
4844    console_view_entry = consoles.console_view_entry(
4845        category = "DEPS|Linux",
4846        short_name = "x86",
4847    ),
4848    pinned = False,
4849)
4850
4851ci.swangle_mac_builder(
4852    name = "mac-swangle-chromium-x64",
4853    console_view_entry = consoles.console_view_entry(
4854        category = "Chromium|Mac",
4855        short_name = "x64",
4856    ),
4857    pinned = False,
4858)
4859
4860ci.swangle_windows_builder(
4861    name = "win-swangle-chromium-x86",
4862    console_view_entry = consoles.console_view_entry(
4863        category = "Chromium|Windows",
4864        short_name = "x86",
4865    ),
4866    pinned = False,
4867)
4868
4869ci.swangle_windows_builder(
4870    name = "win-swangle-tot-angle-x64",
4871    console_view_entry = consoles.console_view_entry(
4872        category = "ToT ANGLE|Windows",
4873        short_name = "x64",
4874    ),
4875)
4876
4877ci.swangle_windows_builder(
4878    name = "win-swangle-tot-angle-x86",
4879    console_view_entry = consoles.console_view_entry(
4880        category = "ToT ANGLE|Windows",
4881        short_name = "x86",
4882    ),
4883)
4884
4885ci.swangle_windows_builder(
4886    name = "win-swangle-tot-swiftshader-x64",
4887    console_view_entry = consoles.console_view_entry(
4888        category = "ToT SwiftShader|Windows",
4889        short_name = "x64",
4890    ),
4891)
4892
4893ci.swangle_windows_builder(
4894    name = "win-swangle-tot-swiftshader-x86",
4895    console_view_entry = consoles.console_view_entry(
4896        category = "ToT SwiftShader|Windows",
4897        short_name = "x86",
4898    ),
4899)
4900
4901ci.swangle_windows_builder(
4902    name = "win-swangle-x64",
4903    console_view_entry = consoles.console_view_entry(
4904        category = "DEPS|Windows",
4905        short_name = "x64",
4906    ),
4907    pinned = False,
4908)
4909
4910ci.swangle_windows_builder(
4911    name = "win-swangle-x86",
4912    console_view_entry = consoles.console_view_entry(
4913        category = "DEPS|Windows",
4914        short_name = "x86",
4915    ),
4916    pinned = False,
4917)
4918
4919ci.win_builder(
4920    name = "WebKit Win10",
4921    console_view_entry = consoles.console_view_entry(
4922        category = "misc",
4923        short_name = "wbk",
4924    ),
4925    main_console_view = "main",
4926    triggered_by = ["Win Builder"],
4927)
4928
4929ci.win_builder(
4930    name = "Win Builder",
4931    console_view_entry = consoles.console_view_entry(
4932        category = "release|builder",
4933        short_name = "32",
4934    ),
4935    cores = 32,
4936    main_console_view = "main",
4937    os = os.WINDOWS_ANY,
4938)
4939
4940ci.win_builder(
4941    name = "Win x64 Builder (dbg)",
4942    console_view_entry = consoles.console_view_entry(
4943        category = "debug|builder",
4944        short_name = "64",
4945    ),
4946    cores = 32,
4947    builderless = True,
4948    main_console_view = "main",
4949    os = os.WINDOWS_ANY,
4950)
4951
4952ci.win_builder(
4953    name = "Win10 Tests x64 (dbg)",
4954    console_view_entry = consoles.console_view_entry(
4955        category = "debug|tester",
4956        short_name = "10",
4957    ),
4958    main_console_view = "main",
4959    triggered_by = ["Win x64 Builder (dbg)"],
4960    # Too flaky. See crbug.com/876224 for more details.
4961    tree_closing = False,
4962)
4963
4964ci.win_builder(
4965    name = "Win7 (32) Tests",
4966    console_view_entry = consoles.console_view_entry(
4967        category = "release|tester",
4968        short_name = "32",
4969    ),
4970    main_console_view = "main",
4971    os = os.WINDOWS_7,
4972    triggered_by = ["Win Builder"],
4973)
4974
4975ci.win_builder(
4976    name = "Win7 Tests (1)",
4977    console_view_entry = consoles.console_view_entry(
4978        category = "release|tester",
4979        short_name = "32",
4980    ),
4981    main_console_view = "main",
4982    os = os.WINDOWS_7,
4983    triggered_by = ["Win Builder"],
4984)
4985
4986ci.win_builder(
4987    name = "Win7 Tests (dbg)(1)",
4988    branch_selector = branches.STANDARD_MILESTONE,
4989    console_view_entry = consoles.console_view_entry(
4990        category = "debug|tester",
4991        short_name = "7",
4992    ),
4993    cq_mirrors_console_view = "mirrors",
4994    os = os.WINDOWS_7,
4995    main_console_view = "main",
4996    triggered_by = [builder_name("Win Builder (dbg)")],
4997)
4998
4999ci.win_builder(
5000    name = "Win 7 Tests x64 (1)",
5001    branch_selector = branches.STANDARD_MILESTONE,
5002    console_view_entry = consoles.console_view_entry(
5003        category = "release|tester",
5004        short_name = "64",
5005    ),
5006    cq_mirrors_console_view = "mirrors",
5007    os = os.WINDOWS_7,
5008    main_console_view = "main",
5009    triggered_by = [builder_name("Win x64 Builder")],
5010)
5011
5012ci.win_builder(
5013    name = "Win Builder (dbg)",
5014    branch_selector = branches.STANDARD_MILESTONE,
5015    console_view_entry = consoles.console_view_entry(
5016        category = "debug|builder",
5017        short_name = "32",
5018    ),
5019    cores = 32,
5020    cq_mirrors_console_view = "mirrors",
5021    main_console_view = "main",
5022    os = os.WINDOWS_ANY,
5023)
5024
5025ci.win_builder(
5026    name = "Win x64 Builder",
5027    branch_selector = branches.STANDARD_MILESTONE,
5028    console_view_entry = consoles.console_view_entry(
5029        category = "release|builder",
5030        short_name = "64",
5031    ),
5032    cores = 32,
5033    cq_mirrors_console_view = "mirrors",
5034    main_console_view = "main",
5035    os = os.WINDOWS_ANY,
5036)
5037
5038ci.win_builder(
5039    name = "Win10 Tests x64",
5040    branch_selector = branches.STANDARD_MILESTONE,
5041    executable = "recipe:chromium (bbagent)",
5042    console_view_entry = consoles.console_view_entry(
5043        category = "release|tester",
5044        short_name = "w10",
5045    ),
5046    cq_mirrors_console_view = "mirrors",
5047    main_console_view = "main",
5048    triggered_by = [builder_name("Win x64 Builder")],
5049)
5050
5051ci.win_builder(
5052    name = "Windows deterministic",
5053    console_view_entry = consoles.console_view_entry(
5054        category = "misc",
5055        short_name = "det",
5056    ),
5057    executable = "recipe:swarming/deterministic_build",
5058    execution_timeout = 6 * time.hour,
5059    goma_jobs = goma.jobs.J150,
5060    main_console_view = "main",
5061)
5062