xref: /aosp_15_r20/external/skia/site/docs/dev/gardening/android.md (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker---
2*c8dee2aaSAndroid Build Coastguard Workertitle: 'Android Gardener Documentation'
3*c8dee2aaSAndroid Build Coastguard WorkerlinkTitle: 'Android Gardener Documentation'
4*c8dee2aaSAndroid Build Coastguard Worker---
5*c8dee2aaSAndroid Build Coastguard Worker
6*c8dee2aaSAndroid Build Coastguard Worker### Contents
7*c8dee2aaSAndroid Build Coastguard Worker
8*c8dee2aaSAndroid Build Coastguard Worker- [What does a Android Gardener do?](#what_is_a_android_gardener)
9*c8dee2aaSAndroid Build Coastguard Worker- [Android Autorollers](#autoroller_doc)
10*c8dee2aaSAndroid Build Coastguard Worker- [View current and upcoming rotations](#view_current_upcoming_rotations)
11*c8dee2aaSAndroid Build Coastguard Worker- [How to swap rotation shifts](#how_to_swap)
12*c8dee2aaSAndroid Build Coastguard Worker
13*c8dee2aaSAndroid Build Coastguard Worker<a name="what_is_a_android_gardener"></a> What does a Android Gardener do?
14*c8dee2aaSAndroid Build Coastguard Worker
15*c8dee2aaSAndroid Build Coastguard Worker---
16*c8dee2aaSAndroid Build Coastguard Worker
17*c8dee2aaSAndroid Build Coastguard WorkerThe Android Gardener has two primary jobs:
18*c8dee2aaSAndroid Build Coastguard Worker
19*c8dee2aaSAndroid Build Coastguard Worker1. Monitor and approve the semi-autonomous
20*c8dee2aaSAndroid Build Coastguard Worker   [git merges](https://googleplex-android-review.git.corp.google.com/#/q/owner:31977622648%2540project.gserviceaccount.com+status:open)
21*c8dee2aaSAndroid Build Coastguard Worker   from Skia's repository into the Android source tree. See autoroller
22*c8dee2aaSAndroid Build Coastguard Worker   documentation <a href="#autoroller_doc">here</a> for details on how to
23*c8dee2aaSAndroid Build Coastguard Worker   interact with it.
24*c8dee2aaSAndroid Build Coastguard Worker
25*c8dee2aaSAndroid Build Coastguard Worker2. Stay on top of incoming Android-related bugs in both the
26*c8dee2aaSAndroid Build Coastguard Worker   [Skia](https://bugs.chromium.org/p/skia/issues/list?can=2&q=OpSys%3DAndroid&sort=-id&colspec=ID+Type+Status+Priority+Owner+Summary&cells=tiles)
27*c8dee2aaSAndroid Build Coastguard Worker   and
28*c8dee2aaSAndroid Build Coastguard Worker   [Android](https://buganizer.corp.google.com/issues?q=assignee:skia-android-triage%20status:open)
29*c8dee2aaSAndroid Build Coastguard Worker   bug trackers. For Skia bugs, this means triaging and assigning all Android
30*c8dee2aaSAndroid Build Coastguard Worker   bugs that are currently unassigned. For Android, this means following the
31*c8dee2aaSAndroid Build Coastguard Worker   [Android guidelines](http://go/android-buganizer) to verifying that all Skia
32*c8dee2aaSAndroid Build Coastguard Worker   bugs are TL-triaged (if not reach out to djsollen@).
33*c8dee2aaSAndroid Build Coastguard Worker
34*c8dee2aaSAndroid Build Coastguard WorkerThe Android Gardener's job is NOT to address issues in Perf and Gold. You'll get
35*c8dee2aaSAndroid Build Coastguard Workeryour chance when you are the general Skia Gardener.
36*c8dee2aaSAndroid Build Coastguard Worker
37*c8dee2aaSAndroid Build Coastguard Worker<a name="autoroller_doc"></a> Android Autorollers
38*c8dee2aaSAndroid Build Coastguard Worker
39*c8dee2aaSAndroid Build Coastguard Worker---
40*c8dee2aaSAndroid Build Coastguard Worker
41*c8dee2aaSAndroid Build Coastguard WorkerThe Android autoroller into the master branch runs on
42*c8dee2aaSAndroid Build Coastguard Worker[https://skia-autoroll.corp.goog/r/android-master-autoroll](https://skia-autoroll.corp.goog/r/android-master-autoroll) and
43*c8dee2aaSAndroid Build Coastguard Workeris accessible only to Googlers.<br/> The autoroller's status is displayed on
44*c8dee2aaSAndroid Build Coastguard WorkerSkia's [status page](https://status.skia.org/).
45*c8dee2aaSAndroid Build Coastguard Worker
46*c8dee2aaSAndroid Build Coastguard WorkerYou can send the autoroller into dry run mode via the UI. The uploaded change
47*c8dee2aaSAndroid Build Coastguard Workerwill not autosubmit when it is in dry run mode.
48*c8dee2aaSAndroid Build Coastguard Worker
49*c8dee2aaSAndroid Build Coastguard WorkerYou can also stop the autoroller via the UI. This is useful in cases where a
50*c8dee2aaSAndroid Build Coastguard Workerfailure needs to be investigated and you do not want to waste TH resources by
51*c8dee2aaSAndroid Build Coastguard Workerrunning unnecessary tests.
52*c8dee2aaSAndroid Build Coastguard Worker
53*c8dee2aaSAndroid Build Coastguard WorkerIf the autoroller displays an error in the UI then look for more detail in it's
54*c8dee2aaSAndroid Build Coastguard Worker[cloud logs](https://pantheon.corp.google.com/logs/viewer?project=google.com:skia-buildbots&resource=logging_log%2Fname%2Fandroid-master-autoroll&logName=projects%2Fgoogle.com:skia-buildbots%2Flogs%2Fautoroll).
55*c8dee2aaSAndroid Build Coastguard Worker
56*c8dee2aaSAndroid Build Coastguard WorkerIf you need any more information about the autoroller please look at
57*c8dee2aaSAndroid Build Coastguard Worker[skia:5538](https://bugs.chromium.org/p/skia/issues/detail?id=5538) or ask
58*c8dee2aaSAndroid Build Coastguard Workerrmistry@ / skiabot@.
59*c8dee2aaSAndroid Build Coastguard Worker
60*c8dee2aaSAndroid Build Coastguard WorkerWe also have autorollers into release branches (also restricted only to
61*c8dee2aaSAndroid Build Coastguard WorkerGooglers):
62*c8dee2aaSAndroid Build Coastguard Worker
63*c8dee2aaSAndroid Build Coastguard Worker- [https://android-o-roll.skia.org](https://android-o-roll.skia.org)
64*c8dee2aaSAndroid Build Coastguard Worker  ([cloud logs](https://pantheon.corp.google.com/logs/viewer?project=google.com:skia-buildbots&resource=logging_log%2Fname%2Fandroid-o-autoroll&logName=projects%2Fgoogle.com:skia-buildbots%2Flogs%2Fautoroll)).
65*c8dee2aaSAndroid Build Coastguard Worker
66*c8dee2aaSAndroid Build Coastguard WorkerChanges created by these rollers need to be manually approved.<br/> The changes
67*c8dee2aaSAndroid Build Coastguard Workercreated by the release rollers:
68*c8dee2aaSAndroid Build Coastguard Worker
69*c8dee2aaSAndroid Build Coastguard Worker- Include all authors of merged changes so that they can watch the roll.
70*c8dee2aaSAndroid Build Coastguard Worker- Extracts all buganizer bugs of the form 'BUG=b/123' or 'Bug: b/456' and
71*c8dee2aaSAndroid Build Coastguard Worker  creates a single line in the merge change 'Bug: 123, 456'.
72*c8dee2aaSAndroid Build Coastguard Worker- Collects all 'Test: ' lines and carries them over to the merge change.
73*c8dee2aaSAndroid Build Coastguard Worker
74*c8dee2aaSAndroid Build Coastguard Worker<a name="view_current_upcoming_rotations"></a> View current and upcoming
75*c8dee2aaSAndroid Build Coastguard Workerrotations
76*c8dee2aaSAndroid Build Coastguard Worker
77*c8dee2aaSAndroid Build Coastguard Worker---
78*c8dee2aaSAndroid Build Coastguard Worker
79*c8dee2aaSAndroid Build Coastguard WorkerThe list of Android Gardeners is specified
80*c8dee2aaSAndroid Build Coastguard Worker[here](https://rotations.corp.google.com/rotation/5296436538245120). The
81*c8dee2aaSAndroid Build Coastguard Workergardeners widget on the [status page](https://status.skia.org) also displays the
82*c8dee2aaSAndroid Build Coastguard Workercurrent gardeners.
83*c8dee2aaSAndroid Build Coastguard Worker
84*c8dee2aaSAndroid Build Coastguard Worker<a name="how_to_swap"></a> How to swap rotation shifts
85*c8dee2aaSAndroid Build Coastguard Worker
86*c8dee2aaSAndroid Build Coastguard Worker---
87*c8dee2aaSAndroid Build Coastguard Worker
88*c8dee2aaSAndroid Build Coastguard WorkerIf you need to swap shifts with someone (because you are out sick or on
89*c8dee2aaSAndroid Build Coastguard Workervacation), please get approval from the person you want to swap with and
90*c8dee2aaSAndroid Build Coastguard Workerdirectly make the swap via the
91*c8dee2aaSAndroid Build Coastguard Worker[rotations page](https://rotations.corp.google.com/rotation/5296436538245120).
92