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>