Skip to content

Commit 00863da

Browse files
Liviu RauDevtools-frontend LUCI CQ
authored andcommitted
Add documentation on branch cutting and builder behavior toggles
Bug: 441271617 Change-Id: Ic442f10726193375f26367ebb8116cf4244959bd Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6917682 Reviewed-by: Alex Rudenko <alexrudenko@chromium.org> Commit-Queue: Alex Rudenko <alexrudenko@chromium.org> Auto-Submit: Liviu Rau <liviurau@chromium.org>
1 parent 15493d5 commit 00863da

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

docs/contributing/infrastructure.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,63 @@ The
8787
file in the `infra/config` branch contains the logic that determines
8888
which builders are needed to verify a CQ. See `custom_locationsfilters`
8989
for the current logic.
90+
91+
## Branch cutting process
92+
93+
At the end of every release cycle Chromium will cut a new branch for the current release.
94+
95+
The branch cut process for DevTools is as simple as updating the beta, stable
96+
and extended branch numbers in infra/config (example [CL](https://crrev.com/c/6850649)):
97+
- checkout infra/config branch
98+
- pull and create a new branch ([see](#Submitting an infra config change))
99+
- update the definitions.star file:
100+
- extended number gets updated every second release:
101+
- if the extended number is equal to the stable number, then update
102+
extended to the current beta number
103+
- otherwise update it to the current stable number
104+
- stable number updates to the current beta number
105+
- beta number updates to the Chromium beta brunch number ([see](https://chromiumdash.appspot.com/branches))
106+
- regenrate the cfg files (`lucicfg main.star`), commit, upload and add
107+
liviurau@chromium.org as reviewer (or another infra team member)
108+
109+
Changing these numbers will reconfigure the CI and CQ for [beta](https://ci.chromium.org/p/devtools-frontend/g/beta/console),
110+
[stable](https://ci.chromium.org/p/devtools-frontend/g/stable/console) and
111+
[extended](https://ci.chromium.org/p/devtools-frontend/g/extended/console) branches.
112+
After landing the change the three branch consoles will get reset.
113+
114+
## Toggle tree closing behaviour on CI builders
115+
116+
Sometimes we might need to avoid a misbehaing builder closing the tree. Or maybe
117+
we need to make a FYI builder a tree closer.
118+
119+
To do so find your builder buckets/ci.star file and toggle the
120+
`notification_muted` property (defaults to False if not present). Setting the
121+
property to True/False will remove/add the tree closer notifier for this builder.
122+
Make sure you regenerated the cfg files and upload your changes. [Example](https://crrev.com/c/6903184).
123+
124+
## Toggle blocking behaviour of CQ builders
125+
126+
CQ builders come in 3 flavors:
127+
- regular try builder: will always prevent a CL from landing when the builder
128+
fails
129+
- includable builder: will run only if expecitly added to a CQ run and will
130+
prevent a CL from landing if the builder fails
131+
- experimental builder: will run a percentage of the times it gets an
132+
oppotunity run and will not block the CL from landing if the builder fails
133+
134+
To toggle this behaviour you need to edit `buckets/try.star` file ([example](https://crrev.com/c/6903181)):
135+
- all builders must be enumetated in `cq_builders.devtools_builders` list
136+
- to make a builder includable add it's name `cq_builders.includable_only_builders`
137+
list; remove it from the list to make it a regular builder
138+
- to make a builder experimental add it's name `cq_builders.experiment_builders`
139+
dictionary together with the desired experiment rate percentage; remove it
140+
from the list to make it a regular builder
141+
142+
## Controlling when a builder runs
143+
// TODO
144+
145+
## Adding a new builder
146+
// TODO
147+
148+
## Anatomy of a CQ build
149+
// TODO

0 commit comments

Comments
 (0)