Task Drivers

Task Drivers are Go programs that facilitate the compilation of code, the execution of tests, and other actions as a part of our Continuous Integration system.

They run a series of steps and store logs in such a way that they can be viewed in a logical manner.

Task Driver Server

The purpose of ./go/task-driver-server is to ingest logs from the execution of task drivers and to present those collected logs.

When running, a task driver will stream logs and step metadata to both stdout to Stack Driver Logging. There is a sink set up that will forward these logs to Pub/Sub [1]. This server subscribes to the Pub/Sub topic [2] and processes the metadata by storing it to BigTable.

See the design doc for more details

  1. The sink is called task-driver-logs-to-pubsub. cloud console
  2. The topic is called projects/skia-swarming-bots/topics/task-driver-logs cloud console