xref: /aosp_15_r20/external/skia/site/docs/dev/testing/swarmingbots.md (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker---
2*c8dee2aaSAndroid Build Coastguard Workertitle: 'Skia Swarming Bots'
3*c8dee2aaSAndroid Build Coastguard WorkerlinkTitle: 'Skia Swarming Bots'
4*c8dee2aaSAndroid Build Coastguard Worker---
5*c8dee2aaSAndroid Build Coastguard Worker
6*c8dee2aaSAndroid Build Coastguard Worker## Overview
7*c8dee2aaSAndroid Build Coastguard Worker
8*c8dee2aaSAndroid Build Coastguard WorkerSkia's Swarming bots are hosted in three places:
9*c8dee2aaSAndroid Build Coastguard Worker
10*c8dee2aaSAndroid Build Coastguard Worker- Google Compute Engine. This is the preferred location for bots which don't
11*c8dee2aaSAndroid Build Coastguard Worker  need to run on physical hardware, ie. anything that doesn't require a GPU or a
12*c8dee2aaSAndroid Build Coastguard Worker  specific hardware configuration. Most of our compile bots live here, along
13*c8dee2aaSAndroid Build Coastguard Worker  with some non-GPU test bots on Linux and Windows. We get surprisingly stable
14*c8dee2aaSAndroid Build Coastguard Worker  performance numbers from GCE, despite very few guarantees about the physical
15*c8dee2aaSAndroid Build Coastguard Worker  hardware.
16*c8dee2aaSAndroid Build Coastguard Worker- Chrome Golo. This is the preferred location for bots which require specific
17*c8dee2aaSAndroid Build Coastguard Worker  hardware or OS configurations that are not supported by GCE. We have several
18*c8dee2aaSAndroid Build Coastguard Worker  Mac, Linux, and Windows bots in the Golo.
19*c8dee2aaSAndroid Build Coastguard Worker- The Skolo (local Skia lab in Chapel Hill). Anything we can't get in GCE or the
20*c8dee2aaSAndroid Build Coastguard Worker  Golo lives here. This includes a wider variety of GPUs and all Android,
21*c8dee2aaSAndroid Build Coastguard Worker  ChromeOS, iOS, and other devices.
22*c8dee2aaSAndroid Build Coastguard Worker
23*c8dee2aaSAndroid Build Coastguard Worker[go/skbl](https://goto.google.com/skbl) lists all Skia Swarming bots.
24*c8dee2aaSAndroid Build Coastguard Worker
25*c8dee2aaSAndroid Build Coastguard Worker### <a name="connecting-to-swarming-bots">Connecting to Swarming Bots</a>
26*c8dee2aaSAndroid Build Coastguard Worker
27*c8dee2aaSAndroid Build Coastguard WorkerIf you need to make changes on a bot/device, please check with the Infra
28*c8dee2aaSAndroid Build Coastguard WorkerGardener or another Infra team member. Most bots/devices can be flashed/imaged
29*c8dee2aaSAndroid Build Coastguard Workerback to a clean state, but others can not.
30*c8dee2aaSAndroid Build Coastguard Worker
31*c8dee2aaSAndroid Build Coastguard Worker- Machine name like “skia-e-gce-NNN”, “skia-ct-gce-NNN”, “skia-i-gce-NNN”,
32*c8dee2aaSAndroid Build Coastguard Worker  “ct-gce-NNN”, “ct-xxx-builder-NNN” -> GCE
33*c8dee2aaSAndroid Build Coastguard Worker
34*c8dee2aaSAndroid Build Coastguard Worker  - First determine the project for the bot:
35*c8dee2aaSAndroid Build Coastguard Worker    - skia-e-gce-NNN, skia-ct-gce-NNN:
36*c8dee2aaSAndroid Build Coastguard Worker      [skia-swarming-bots](https://console.cloud.google.com/compute/instances?project=skia-swarming-bots)
37*c8dee2aaSAndroid Build Coastguard Worker    - skia-i-gce-NNN:
38*c8dee2aaSAndroid Build Coastguard Worker      [google.com:skia-buildbots](https://console.cloud.google.com/compute/instances?project=google.com:skia-buildbots)
39*c8dee2aaSAndroid Build Coastguard Worker    - ct-gce-NNN, ct-xxx-builder-NNN:
40*c8dee2aaSAndroid Build Coastguard Worker      [ct-swarming-bots](https://console.cloud.google.com/compute/instances?project=ct-swarming-bots)
41*c8dee2aaSAndroid Build Coastguard Worker  - To log in to a Linux bot in GCE, use
42*c8dee2aaSAndroid Build Coastguard Worker    `gcloud compute ssh --project <project> default@<machine name>`. Choose the
43*c8dee2aaSAndroid Build Coastguard Worker    zone listed on the VM's detail page (see links above). You may also specify
44*c8dee2aaSAndroid Build Coastguard Worker    the zone using the `--zone` command-line flag.
45*c8dee2aaSAndroid Build Coastguard Worker  - To log in to a Windows bot in GCE, first go to the VM's detail page and
46*c8dee2aaSAndroid Build Coastguard Worker    click the "Set Windows password" button. (Alternatively, ask the Infra Team
47*c8dee2aaSAndroid Build Coastguard Worker    how to log in as chrome-bot.) There are two options to connect:
48*c8dee2aaSAndroid Build Coastguard Worker    - SSH: Follow the instructions for Linux using your username rather than
49*c8dee2aaSAndroid Build Coastguard Worker      `default`.
50*c8dee2aaSAndroid Build Coastguard Worker    - RDP: On the VM's detail page, click the "RDP" button. (You will be
51*c8dee2aaSAndroid Build Coastguard Worker      instructed to install the Chrome RDP Extension for GCP if it hasn't
52*c8dee2aaSAndroid Build Coastguard Worker      already been installed.)
53*c8dee2aaSAndroid Build Coastguard Worker
54*c8dee2aaSAndroid Build Coastguard Worker- Machine name ends with “a9”, “m3”, "m5". Or name matches the pattern {lin, mac, win}-NNN-g580 ->
55*c8dee2aaSAndroid Build Coastguard Worker  Chrome Golo/Labs
56*c8dee2aaSAndroid Build Coastguard Worker
57*c8dee2aaSAndroid Build Coastguard Worker  - To log in to Golo bots, see
58*c8dee2aaSAndroid Build Coastguard Worker    [go/chrome-infra-build-access](https://goto.google.com/chrome-infra-build-access).
59*c8dee2aaSAndroid Build Coastguard Worker
60*c8dee2aaSAndroid Build Coastguard Worker- Machine name starts with “skia-e-”, “skia-i-” (other than “skia-i-gce-NNN”),
61*c8dee2aaSAndroid Build Coastguard Worker  “skia-rpi-” -> Chapel Hill lab (aka Skolo)<br/> To log in to Skolo bots, see
62*c8dee2aaSAndroid Build Coastguard Worker  the [Skolo maintenance doc][remote access] remote access section. See the
63*c8dee2aaSAndroid Build Coastguard Worker  following for OS specific instructions:<br/>
64*c8dee2aaSAndroid Build Coastguard Worker  - [Remotely debug an Android device in Skolo][remotely debug android]
65*c8dee2aaSAndroid Build Coastguard Worker  - [VNC to Skolo Windows bots][vnc to skolo windows]
66*c8dee2aaSAndroid Build Coastguard Worker  - [ChromeOS Debugging][chromeos debugging]
67*c8dee2aaSAndroid Build Coastguard Worker
68*c8dee2aaSAndroid Build Coastguard Worker## Debugging
69*c8dee2aaSAndroid Build Coastguard Worker
70*c8dee2aaSAndroid Build Coastguard WorkerIf you need to run code on a specific machine/device to debug an issue, the
71*c8dee2aaSAndroid Build Coastguard Workersimplest option is to run tryjobs (after adding debugging output to the relevant
72*c8dee2aaSAndroid Build Coastguard Workercode). In some cases you may also need to
73*c8dee2aaSAndroid Build Coastguard Worker[create or modify tryjobs](../automated_testing#adding-new-jobs).
74*c8dee2aaSAndroid Build Coastguard Worker
75*c8dee2aaSAndroid Build Coastguard WorkerFor Googlers: If you need more control (e.g. to run GDB) and need to run
76*c8dee2aaSAndroid Build Coastguard Workerdirectly on a swarming bot then you can use
77*c8dee2aaSAndroid Build Coastguard Worker[leasing.skia.org](https://leasing.skia.org).<br/> If that does not work then
78*c8dee2aaSAndroid Build Coastguard Workerthe [current infra gardener][current infra gardener] can help you bring the
79*c8dee2aaSAndroid Build Coastguard Workerdevice back to your desk and connect it to GoogleGuest Wifi or the
80*c8dee2aaSAndroid Build Coastguard Worker[Google Test Network](http://go/gtn-criteria).
81*c8dee2aaSAndroid Build Coastguard Worker
82*c8dee2aaSAndroid Build Coastguard WorkerIf you need to make changes on a bot/device, please check with the Infra
83*c8dee2aaSAndroid Build Coastguard WorkerGardener or another Infra team member. Most bots/devices can be flashed/imaged
84*c8dee2aaSAndroid Build Coastguard Workerback to a clean state, but others can not.
85*c8dee2aaSAndroid Build Coastguard Worker
86*c8dee2aaSAndroid Build Coastguard WorkerIf a permanent change needs to be made on the machine (such as an OS or driver
87*c8dee2aaSAndroid Build Coastguard Workerupdate), please [file a bug][infra bug] and assign to jcgregorio for
88*c8dee2aaSAndroid Build Coastguard Workerreassignment.
89*c8dee2aaSAndroid Build Coastguard Worker
90*c8dee2aaSAndroid Build Coastguard WorkerFor your convenience, the machine skolo-builder is available for checking out
91*c8dee2aaSAndroid Build Coastguard Workerand compiling code within the Skolo. See more info in the [Skolo maintenance
92*c8dee2aaSAndroid Build Coastguard Workerdoc][remote access] remote access section.
93*c8dee2aaSAndroid Build Coastguard Worker
94*c8dee2aaSAndroid Build Coastguard Worker[current infra gardener]:
95*c8dee2aaSAndroid Build Coastguard Worker  https://rotations.corp.google.com/rotation/4617277386260480
96*c8dee2aaSAndroid Build Coastguard Worker[remote access]:
97*c8dee2aaSAndroid Build Coastguard Worker  https://docs.google.com/document/d/1zTR1YtrIFBo-fRWgbUgvJNVJ-s_4_sNjTrHIoX2vulo/edit#heading=h.v77cmwbwc5la
98*c8dee2aaSAndroid Build Coastguard Worker[infra bug]:
99*c8dee2aaSAndroid Build Coastguard Worker  https://bugs.chromium.org/p/skia/issues/entry?template=Infrastructure+Bug
100*c8dee2aaSAndroid Build Coastguard Worker[remotely debug android]:
101*c8dee2aaSAndroid Build Coastguard Worker  https://docs.google.com/document/d/1nxn7TobfaLNNfhSTiwstOnjV0jCxYUI1uwW0T_V7BYg/
102*c8dee2aaSAndroid Build Coastguard Worker[vnc to skolo windows]:
103*c8dee2aaSAndroid Build Coastguard Worker  https://docs.google.com/document/d/1zTR1YtrIFBo-fRWgbUgvJNVJ-s_4_sNjTrHIoX2vulo/edit#heading=h.7cqd856ft0s
104*c8dee2aaSAndroid Build Coastguard Worker[chromeos debugging]:
105*c8dee2aaSAndroid Build Coastguard Worker  https://docs.google.com/document/d/1yJ2LLfLzV6pXKjiameid1LHEz1mj71Ob4wySIYxlBdw/edit#heading=h.9arg79l59xrf
106*c8dee2aaSAndroid Build Coastguard Worker
107*c8dee2aaSAndroid Build Coastguard Worker## Maintenance Tasks
108*c8dee2aaSAndroid Build Coastguard Worker
109*c8dee2aaSAndroid Build Coastguard WorkerSee the [Skolo maintenance doc][skolo maintenance].
110*c8dee2aaSAndroid Build Coastguard Worker
111*c8dee2aaSAndroid Build Coastguard Worker[skolo maintenance]:
112*c8dee2aaSAndroid Build Coastguard Worker  https://docs.google.com/document/d/1zTR1YtrIFBo-fRWgbUgvJNVJ-s_4_sNjTrHIoX2vulo/edit
113