|
87 | 87 | file in the `infra/config` branch contains the logic that determines |
88 | 88 | which builders are needed to verify a CQ. See `custom_locationsfilters` |
89 | 89 | 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