github.com/zppinho/prow@v0.0.0-20240510014325-1738badeb017/pkg/docs/pr-interactions-sequence.svg (about) 1 <svg id="mermaid-1555617348073" width="100%" xmlns="http://www.w3.org/2000/svg" height="100%" style="max-width:2650px;" viewBox="-50 -10 2650 1396"><style> 2 3 4 #mermaid-1555617348073 .label { 5 font-family: 'trebuchet ms', verdana, arial; 6 color: #333; } 7 8 #mermaid-1555617348073 .node rect, 9 #mermaid-1555617348073 .node circle, 10 #mermaid-1555617348073 .node ellipse, 11 #mermaid-1555617348073 .node polygon { 12 fill: #ECECFF; 13 stroke: #9370DB; 14 stroke-width: 1px; } 15 16 #mermaid-1555617348073 .node.clickable { 17 cursor: pointer; } 18 19 #mermaid-1555617348073 .arrowheadPath { 20 fill: #333333; } 21 22 #mermaid-1555617348073 .edgePath .path { 23 stroke: #333333; 24 stroke-width: 1.5px; } 25 26 #mermaid-1555617348073 .edgeLabel { 27 background-color: #e8e8e8; } 28 29 #mermaid-1555617348073 .cluster rect { 30 fill: #ffffde !important; 31 stroke: #aaaa33 !important; 32 stroke-width: 1px !important; } 33 34 #mermaid-1555617348073 .cluster text { 35 fill: #333; } 36 37 #mermaid-1555617348073 div.mermaidTooltip { 38 position: absolute; 39 text-align: center; 40 max-width: 200px; 41 padding: 2px; 42 font-family: 'trebuchet ms', verdana, arial; 43 font-size: 12px; 44 background: #ffffde; 45 border: 1px solid #aaaa33; 46 border-radius: 2px; 47 pointer-events: none; 48 z-index: 100; } 49 50 #mermaid-1555617348073 .actor { 51 stroke: #CCCCFF; 52 fill: #ECECFF; } 53 54 #mermaid-1555617348073 text.actor { 55 fill: black; 56 stroke: none; } 57 58 #mermaid-1555617348073 .actor-line { 59 stroke: grey; } 60 61 #mermaid-1555617348073 .messageLine0 { 62 stroke-width: 1.5; 63 stroke-dasharray: '2 2'; 64 stroke: #333; } 65 66 #mermaid-1555617348073 .messageLine1 { 67 stroke-width: 1.5; 68 stroke-dasharray: '2 2'; 69 stroke: #333; } 70 71 #mermaid-1555617348073 #arrowhead { 72 fill: #333; } 73 74 #mermaid-1555617348073 #crosshead path { 75 fill: #333 !important; 76 stroke: #333 !important; } 77 78 #mermaid-1555617348073 .messageText { 79 fill: #333; 80 stroke: none; } 81 82 #mermaid-1555617348073 .labelBox { 83 stroke: #CCCCFF; 84 fill: #ECECFF; } 85 86 #mermaid-1555617348073 .labelText { 87 fill: black; 88 stroke: none; } 89 90 #mermaid-1555617348073 .loopText { 91 fill: black; 92 stroke: none; } 93 94 #mermaid-1555617348073 .loopLine { 95 stroke-width: 2; 96 stroke-dasharray: '2 2'; 97 stroke: #CCCCFF; } 98 99 #mermaid-1555617348073 .note { 100 stroke: #aaaa33; 101 fill: #fff5ad; } 102 103 #mermaid-1555617348073 .noteText { 104 fill: black; 105 stroke: none; 106 font-family: 'trebuchet ms', verdana, arial; 107 font-size: 14px; } 108 109 #mermaid-1555617348073 .activation0 { 110 fill: #f4f4f4; 111 stroke: #666; } 112 113 #mermaid-1555617348073 .activation1 { 114 fill: #f4f4f4; 115 stroke: #666; } 116 117 #mermaid-1555617348073 .activation2 { 118 fill: #f4f4f4; 119 stroke: #666; } 120 121 122 #mermaid-1555617348073 .section { 123 stroke: none; 124 opacity: 0.2; } 125 126 #mermaid-1555617348073 .section0 { 127 fill: rgba(102, 102, 255, 0.49); } 128 129 #mermaid-1555617348073 .section2 { 130 fill: #fff400; } 131 132 #mermaid-1555617348073 .section1, 133 #mermaid-1555617348073 .section3 { 134 fill: white; 135 opacity: 0.2; } 136 137 #mermaid-1555617348073 .sectionTitle0 { 138 fill: #333; } 139 140 #mermaid-1555617348073 .sectionTitle1 { 141 fill: #333; } 142 143 #mermaid-1555617348073 .sectionTitle2 { 144 fill: #333; } 145 146 #mermaid-1555617348073 .sectionTitle3 { 147 fill: #333; } 148 149 #mermaid-1555617348073 .sectionTitle { 150 text-anchor: start; 151 font-size: 11px; 152 text-height: 14px; } 153 154 155 #mermaid-1555617348073 .grid .tick { 156 stroke: lightgrey; 157 opacity: 0.3; 158 shape-rendering: crispEdges; } 159 160 #mermaid-1555617348073 .grid path { 161 stroke-width: 0; } 162 163 164 #mermaid-1555617348073 .today { 165 fill: none; 166 stroke: red; 167 stroke-width: 2px; } 168 169 170 171 #mermaid-1555617348073 .task { 172 stroke-width: 2; } 173 174 #mermaid-1555617348073 .taskText { 175 text-anchor: middle; 176 font-size: 11px; } 177 178 #mermaid-1555617348073 .taskTextOutsideRight { 179 fill: black; 180 text-anchor: start; 181 font-size: 11px; } 182 183 #mermaid-1555617348073 .taskTextOutsideLeft { 184 fill: black; 185 text-anchor: end; 186 font-size: 11px; } 187 188 189 #mermaid-1555617348073 .taskText0, 190 #mermaid-1555617348073 .taskText1, 191 #mermaid-1555617348073 .taskText2, 192 #mermaid-1555617348073 .taskText3 { 193 fill: white; } 194 195 #mermaid-1555617348073 .task0, 196 #mermaid-1555617348073 .task1, 197 #mermaid-1555617348073 .task2, 198 #mermaid-1555617348073 .task3 { 199 fill: #8a90dd; 200 stroke: #534fbc; } 201 202 #mermaid-1555617348073 .taskTextOutside0, 203 #mermaid-1555617348073 .taskTextOutside2 { 204 fill: black; } 205 206 #mermaid-1555617348073 .taskTextOutside1, 207 #mermaid-1555617348073 .taskTextOutside3 { 208 fill: black; } 209 210 211 #mermaid-1555617348073 .active0, 212 #mermaid-1555617348073 .active1, 213 #mermaid-1555617348073 .active2, 214 #mermaid-1555617348073 .active3 { 215 fill: #bfc7ff; 216 stroke: #534fbc; } 217 218 #mermaid-1555617348073 .activeText0, 219 #mermaid-1555617348073 .activeText1, 220 #mermaid-1555617348073 .activeText2, 221 #mermaid-1555617348073 .activeText3 { 222 fill: black !important; } 223 224 225 #mermaid-1555617348073 .done0, 226 #mermaid-1555617348073 .done1, 227 #mermaid-1555617348073 .done2, 228 #mermaid-1555617348073 .done3 { 229 stroke: grey; 230 fill: lightgrey; 231 stroke-width: 2; } 232 233 #mermaid-1555617348073 .doneText0, 234 #mermaid-1555617348073 .doneText1, 235 #mermaid-1555617348073 .doneText2, 236 #mermaid-1555617348073 .doneText3 { 237 fill: black !important; } 238 239 240 #mermaid-1555617348073 .crit0, 241 #mermaid-1555617348073 .crit1, 242 #mermaid-1555617348073 .crit2, 243 #mermaid-1555617348073 .crit3 { 244 stroke: #ff8888; 245 fill: red; 246 stroke-width: 2; } 247 248 #mermaid-1555617348073 .activeCrit0, 249 #mermaid-1555617348073 .activeCrit1, 250 #mermaid-1555617348073 .activeCrit2, 251 #mermaid-1555617348073 .activeCrit3 { 252 stroke: #ff8888; 253 fill: #bfc7ff; 254 stroke-width: 2; } 255 256 #mermaid-1555617348073 .doneCrit0, 257 #mermaid-1555617348073 .doneCrit1, 258 #mermaid-1555617348073 .doneCrit2, 259 #mermaid-1555617348073 .doneCrit3 { 260 stroke: #ff8888; 261 fill: lightgrey; 262 stroke-width: 2; 263 cursor: pointer; 264 shape-rendering: crispEdges; } 265 266 #mermaid-1555617348073 .doneCritText0, 267 #mermaid-1555617348073 .doneCritText1, 268 #mermaid-1555617348073 .doneCritText2, 269 #mermaid-1555617348073 .doneCritText3 { 270 fill: black !important; } 271 272 #mermaid-1555617348073 .activeCritText0, 273 #mermaid-1555617348073 .activeCritText1, 274 #mermaid-1555617348073 .activeCritText2, 275 #mermaid-1555617348073 .activeCritText3 { 276 fill: black !important; } 277 278 #mermaid-1555617348073 .titleText { 279 text-anchor: middle; 280 font-size: 18px; 281 fill: black; } 282 283 #mermaid-1555617348073 g.classGroup text { 284 fill: #9370DB; 285 stroke: none; 286 font-family: 'trebuchet ms', verdana, arial; 287 font-size: 10px; } 288 289 #mermaid-1555617348073 g.classGroup rect { 290 fill: #ECECFF; 291 stroke: #9370DB; } 292 293 #mermaid-1555617348073 g.classGroup line { 294 stroke: #9370DB; 295 stroke-width: 1; } 296 297 #mermaid-1555617348073 .classLabel .box { 298 stroke: none; 299 stroke-width: 0; 300 fill: #ECECFF; 301 opacity: 0.5; } 302 303 #mermaid-1555617348073 .classLabel .label { 304 fill: #9370DB; 305 font-size: 10px; } 306 307 #mermaid-1555617348073 .relation { 308 stroke: #9370DB; 309 stroke-width: 1; 310 fill: none; } 311 312 #mermaid-1555617348073 #compositionStart { 313 fill: #9370DB; 314 stroke: #9370DB; 315 stroke-width: 1; } 316 317 #mermaid-1555617348073 #compositionEnd { 318 fill: #9370DB; 319 stroke: #9370DB; 320 stroke-width: 1; } 321 322 #mermaid-1555617348073 #aggregationStart { 323 fill: #ECECFF; 324 stroke: #9370DB; 325 stroke-width: 1; } 326 327 #mermaid-1555617348073 #aggregationEnd { 328 fill: #ECECFF; 329 stroke: #9370DB; 330 stroke-width: 1; } 331 332 #mermaid-1555617348073 #dependencyStart { 333 fill: #9370DB; 334 stroke: #9370DB; 335 stroke-width: 1; } 336 337 #mermaid-1555617348073 #dependencyEnd { 338 fill: #9370DB; 339 stroke: #9370DB; 340 stroke-width: 1; } 341 342 #mermaid-1555617348073 #extensionStart { 343 fill: #9370DB; 344 stroke: #9370DB; 345 stroke-width: 1; } 346 347 #mermaid-1555617348073 #extensionEnd { 348 fill: #9370DB; 349 stroke: #9370DB; 350 stroke-width: 1; } 351 352 #mermaid-1555617348073 .commit-id, 353 #mermaid-1555617348073 .commit-msg, 354 #mermaid-1555617348073 .branch-label { 355 fill: lightgrey; 356 color: lightgrey; } 357 </style><style>#mermaid-1555617348073 { 358 color: rgba(0, 0, 0, 0.65); 359 font: ; 360 }</style><g></g><g><line id="actor0" x1="75" y1="5" x2="75" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="0" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="75" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="75" dy="0">Contributor</tspan></text></g><g><line id="actor1" x1="275" y1="5" x2="275" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="200" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="275" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="275" dy="0">Reviewer</tspan></text></g><g><line id="actor2" x1="475" y1="5" x2="475" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="400" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="475" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="475" dy="0">Approver</tspan></text></g><g><line id="actor3" x1="675" y1="5" x2="675" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="600" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="675" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="675" dy="0">GitHub</tspan></text></g><g><line id="actor4" x1="875" y1="5" x2="875" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="800" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="875" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="875" dy="0">hook</tspan></text></g><g><line id="actor5" x1="1075" y1="5" x2="1075" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="1000" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="1075" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1075" dy="-7">approve</tspan></text><text x="1075" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1075" dy="7">(hook plugin)</tspan></text></g><g><line id="actor6" x1="1275" y1="5" x2="1275" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="1200" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="1275" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1275" dy="-7">size</tspan></text><text x="1275" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1275" dy="7">(hook plugin)</tspan></text></g><g><line id="actor7" x1="1475" y1="5" x2="1475" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="1400" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="1475" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1475" dy="-7">cla</tspan></text><text x="1475" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1475" dy="7">(hook plugin)</tspan></text></g><g><line id="actor8" x1="1675" y1="5" x2="1675" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="1600" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="1675" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1675" dy="-7">lgtm</tspan></text><text x="1675" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1675" dy="7">(hook plugin)</tspan></text></g><g><line id="actor9" x1="1875" y1="5" x2="1875" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="1800" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="1875" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1875" dy="-7">trigger</tspan></text><text x="1875" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1875" dy="7">(hook plugin)</tspan></text></g><g><line id="actor10" x1="2075" y1="5" x2="2075" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="2000" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="2075" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="2075" dy="0">tide</tspan></text></g><g><line id="actor11" x1="2275" y1="5" x2="2275" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="2200" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="2275" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="2275" dy="0">prowJob</tspan></text></g><g><line id="actor12" x1="2475" y1="5" x2="2475" y2="1385" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="2400" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="2475" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="2475" dy="-7">Kubernetes</tspan></text><text x="2475" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="2475" dy="7">API Server</tspan></text></g><defs><marker id="arrowhead" refX="5" refY="2" markerWidth="6" markerHeight="4" orient="auto"><path d="M 0,0 V 4 L6,2 Z"></path></marker></defs><defs><marker id="crosshead" markerWidth="15" markerHeight="8" orient="auto" refX="16" refY="4"><path fill="black" stroke="#000000" stroke-width="1px" d="M 9,2 V 6 L16,4 Z" style="stroke-dasharray: 0, 0;"></path><path fill="none" stroke="#000000" stroke-width="1px" d="M 0,1 L 6,7 M 6,1 L 0,7" style="stroke-dasharray: 0, 0;"></path></marker></defs><g><text x="375" y="93" class="messageText" style="text-anchor: middle;">Creates Pull Request (PR)</text><line x1="75" y1="100" x2="675" y2="100" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="775" y="128" class="messageText" style="text-anchor: middle;">Sends PR create webhook</text><line x1="675" y1="135" x2="875" y2="135" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="975" y="163" class="messageText" style="text-anchor: middle;">Sends PR create webhook</text><line x1="875" y1="170" x2="1075" y2="170" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="1075" y="198" class="messageText" style="text-anchor: middle;">Analyzes repository approvers</text><path d="M 1075,205 C 1135,195 1135,235 1075,225" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></path></g><g><text x="875" y="263" class="messageText" style="text-anchor: middle;">Create PR comment "PR not approved"</text><line x1="1075" y1="270" x2="675" y2="270" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="1075" y="298" class="messageText" style="text-anchor: middle;">Send PR create webhook</text><line x1="875" y1="305" x2="1275" y2="305" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="1275" y="333" class="messageText" style="text-anchor: middle;">Analyzes PR changed line count</text><path d="M 1275,340 C 1335,330 1335,370 1275,360" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></path></g><g><text x="975" y="398" class="messageText" style="text-anchor: middle;">Adds "size/XS" label to PR</text><line x1="1275" y1="405" x2="675" y2="405" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="1175" y="433" class="messageText" style="text-anchor: middle;">Send PR create webhook</text><line x1="875" y1="440" x2="1475" y2="440" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="1475" y="468" class="messageText" style="text-anchor: middle;">Analyzes if Contributor is CLA approved</text><path d="M 1475,475 C 1535,465 1535,505 1475,495" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></path></g><g><text x="1075" y="533" class="messageText" style="text-anchor: middle;">Adds "cncf-cla: yes" label to PR</text><line x1="1475" y1="540" x2="675" y2="540" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="775" y="568" class="messageText" style="text-anchor: middle;">Adds Reviewers to PR</text><line x1="875" y1="575" x2="675" y2="575" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="475" y="603" class="messageText" style="text-anchor: middle;">Requests Review (Normally an Email)</text><line x1="675" y1="610" x2="275" y2="610" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="475" y="638" class="messageText" style="text-anchor: middle;">Requests PR Changes</text><line x1="275" y1="645" x2="675" y2="645" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="375" y="673" class="messageText" style="text-anchor: middle;">Make Changes Reviewer Requested</text><line x1="75" y1="680" x2="675" y2="680" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="475" y="708" class="messageText" style="text-anchor: middle;">Creates a "/lgtm" Comment</text><line x1="275" y1="715" x2="675" y2="715" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="775" y="743" class="messageText" style="text-anchor: middle;">Sends comment Event</text><line x1="675" y1="750" x2="875" y2="750" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="1275" y="778" class="messageText" style="text-anchor: middle;">Sends comment Event</text><line x1="875" y1="785" x2="1675" y2="785" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="1675" y="813" class="messageText" style="text-anchor: middle;">Analyzes OWNERS files</text><path d="M 1675,820 C 1735,810 1735,850 1675,840" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></path></g><g><text x="1175" y="878" class="messageText" style="text-anchor: middle;">Adds "lgtm" label to PR</text><line x1="1675" y1="885" x2="675" y2="885" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="475" y="913" class="messageText" style="text-anchor: middle;">Creates an "/ok-to-test" Comment</text><line x1="275" y1="920" x2="675" y2="920" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="775" y="948" class="messageText" style="text-anchor: middle;">Adds "ok-to-test" label to PR</text><line x1="875" y1="955" x2="675" y2="955" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="2175" y="983" class="messageText" style="text-anchor: middle;">Create presubmit prowJob</text><line x1="1875" y1="990" x2="2475" y2="990" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="2375" y="1018" class="messageText" style="text-anchor: middle;">Run presubmit prowJob</text><line x1="2475" y1="1025" x2="2275" y2="1025" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="1475" y="1053" class="messageText" style="text-anchor: middle;">Update PR "statuses" based on job exit code</text><line x1="2275" y1="1060" x2="675" y2="1060" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="575" y="1088" class="messageText" style="text-anchor: middle;">Creates an "/approved" Comment</text><line x1="475" y1="1095" x2="675" y2="1095" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="875" y="1123" class="messageText" style="text-anchor: middle;">Sends comment Event</text><line x1="675" y1="1130" x2="1075" y2="1130" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="1075" y="1158" class="messageText" style="text-anchor: middle;">Analyzes if Approver can approve PR</text><path d="M 1075,1165 C 1135,1155 1135,1195 1075,1185" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></path></g><g><text x="875" y="1223" class="messageText" style="text-anchor: middle;">Adds an "approved" label to PR</text><line x1="1075" y1="1230" x2="675" y2="1230" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="1375" y="1258" class="messageText" style="text-anchor: middle;">Checks if All Merge Labels Exist on PR</text><line x1="2075" y1="1265" x2="675" y2="1265" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><text x="1375" y="1293" class="messageText" style="text-anchor: middle;">Merges PR</text><line x1="2075" y1="1300" x2="675" y2="1300" class="messageLine0" stroke-width="2" stroke="black" marker-end="url(#arrowhead)" style="fill: none;"></line></g><g><rect x="0" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="75" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="75" dy="0">Contributor</tspan></text></g><g><rect x="200" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="275" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="275" dy="0">Reviewer</tspan></text></g><g><rect x="400" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="475" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="475" dy="0">Approver</tspan></text></g><g><rect x="600" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="675" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="675" dy="0">GitHub</tspan></text></g><g><rect x="800" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="875" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="875" dy="0">hook</tspan></text></g><g><rect x="1000" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="1075" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1075" dy="-7">approve</tspan></text><text x="1075" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1075" dy="7">(hook plugin)</tspan></text></g><g><rect x="1200" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="1275" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1275" dy="-7">size</tspan></text><text x="1275" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1275" dy="7">(hook plugin)</tspan></text></g><g><rect x="1400" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="1475" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1475" dy="-7">cla</tspan></text><text x="1475" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1475" dy="7">(hook plugin)</tspan></text></g><g><rect x="1600" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="1675" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1675" dy="-7">lgtm</tspan></text><text x="1675" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1675" dy="7">(hook plugin)</tspan></text></g><g><rect x="1800" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="1875" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1875" dy="-7">trigger</tspan></text><text x="1875" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="1875" dy="7">(hook plugin)</tspan></text></g><g><rect x="2000" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="2075" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="2075" dy="0">tide</tspan></text></g><g><rect x="2200" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="2275" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="2275" dy="0">prowJob</tspan></text></g><g><rect x="2400" y="1320" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="2475" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="2475" dy="-7">Kubernetes</tspan></text><text x="2475" y="1352.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-family: Open-Sans, sans-serif;"><tspan x="2475" dy="7">API Server</tspan></text></g></svg>