0

Add Orchestrator section in new_builders.md

Bug: 1257346
Change-Id: I3b8b5529cc88b84052a8bbae9bd894874f1b16b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3265251
Commit-Queue: Stephanie Kim <kimstephanie@google.com>
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Cr-Commit-Position: refs/heads/main@{#943681}
This commit is contained in:
Stephanie Kim
2021-11-19 21:54:16 +00:00
committed by Chromium LUCI CQ
parent af89bcc3ba
commit 4011ef71d1

@ -399,6 +399,11 @@ by OWNERS files, so no need to worry about accidentally doing so.
To add a builder to the CQ, add a `tryjob` value to the builder definition.
This will add the builder to all CQ attempts (except for CLs that only contain
files in some particular directories).
###### Regular (non-Orchestrator) CQ builders
```starlark
try_.chromium_linux_builder(
name = '$BUILDER_NAME',
@ -406,8 +411,56 @@ try_.chromium_linux_builder(
)
```
This will add the builder to all CQ attempts (except for CLs that only contain
files in some particular directories).
###### Orchestrator CQ Builders
The Orchestrator pattern is an optimization from the old chromium_trybot CQ
builders, where compiles are triggered to run on separate beefier machines.
It consists of the chromium/orchestrator.py and chromium/compilator.py recipes.
Builders using the Orchestrator pattern use a dedicated pool of machines to run
their builds (often called builderful). The
Orchestrator builder uses 2 or 4 core bots and the Compilator builder uses a
beefier >=16 core bot. The Compilator builder name should always be the
orchestrator name + "-compilator", like linux-rel and linux-rel-compilator.
In chromium/src/infra/config/subprojects/chromium/try.star:
```starlark
try_.chromium_linux_orchestrator_pair(
name = "linux-rel",
branch_selector = branches.STANDARD_MILESTONE,
main_list_view = "try",
use_clang_coverage = True,
coverage_test_types = ["unit", "overall"],
orchestrator_cores = 2,
orchestrator_tryjob = try_.job(),
compilator_cores = 16,
compilator_goma_jobs = goma.jobs.J150,
compilator_name = "linux-rel-compilator",
)
```
In infradata/config/configs/chromium-swarm/bots/chromium/chromium.star:
(In the [infradata/config](https://chrome-internal.googlesource.com/infradata/config/) repo)
```starlark
try_bots({
"linux-rel": chrome.gce_bionic(
prefix = "linux-rel-orchestrator-2-core",
zone = "us-central1-b",
machine_type = "n1-standard-2",
lifetime = time.week,
amount = 80,
),
"linux-rel-compilator": chrome.gce_bionic(
prefix = "linux-rel-compilator-ssd-16-core",
zone = "us-central1-b",
machine_type = "n1-standard-16",
lifetime = time.week,
amount = 25,
disk_gb = 100,
// This enables local ssd usage for this bot
scratch_disks = chrome.scratch_disks(count = 1, interface = "NVME"),
),
})
```
###### Experimental CQ builders