# Overview

This is an overview of how Skia is built and tested and the relationships
between the various services we use.


## Life of a +1

What happens when a user submits a CL to the Commit Queue (CQ):

<details>
  <summary>
    <object type="image/svg+xml" data="https://dot.skia.org/dot?lifeof"></object>
  </summary>
  <pre>
digraph {
  rankdir=LR;
  node [shape = box, fixedsize = true, width=2, height=0.6];

  IN, OUT [style = invis];

  // The top level input and output flows, a +2 goes in and eventually an email is sent
  // on success or failure.
  IN -> Gerrit [ label="+2" ];
  Gerrit -> OUT [ label="email" ];

  // Requests flowing down to Swarming to do the building, testing, and uploading.
  Gerrit -> CQ [ label="CL (poll)" ];
  LUCIConfig -> CQ [ label="TryJobs\n(poll)" ];
  CQ -> BuildBucket [ label="create(CL, TryJob)\n(API)" ];
  BuildBucket -> TaskScheduler [ label="CL+TryJob\n(poll)" ];
  TaskScheduler -> Swarming [ label="TaskInfo\nCIPD List + Isolate List" ];
  TaskScheduler -> Isolate [ label="HEAD+CL" ];
  CIPD -> Swarming [ label="(pull)" ];
  Isolate -> Swarming [ label="(pull)" ];

  // Propagating the signal that the job is done.
  Swarming -> TaskScheduler [ label="TaskResult\nPubSub+poll", style=dotted ];
  TaskScheduler -> BuildBucket [ label="Done", style=dotted ];
  BuildBucket -> CQ [ label="Done", style=dotted ];
  CQ -> Gerrit [ label="Done", style=dotted ];
}
   </pre>
</details>