Clone this repo:
  1. 9c3ecc4 makefile: load last working py2 chromite by Julio Hurtado · 1 year, 9 months ago main
  2. cb97686 config: Update tko_jobs grace_period capacity from 500 -> 2000. by Jason Kusuma · 1 year, 9 months ago
  3. 414f566 docker: change gcloud to google-cloud and increase build timeout by Julio Hurtado · 1 year, 11 months ago
  4. eff167f ci_results_archiver: shard BQ uploads by Jared Loucks · 1 year, 11 months ago
  5. e6522e9 config: read TKO datetimes as UTC times, not US/Pacific by Sean Abraham · 3 years, 3 months ago



  1. Install mysql client:

     sudo apt-get install default-libmysqlclient-dev libssl-dev
  2. Install python libs:

     make load-libs

Known Issues

  1. _mysql.c:2005:41: error: 'MYSQL' {aka 'struct st_mysql'} has no member named 'reconnect':

    This may happen on Debian based system. Workaround: Run sudo sed '/st_mysql_options options;/a unsigned int reconnect;' /usr/include/mysql/mysql.h -i.bkp.

Unit test

  1. Run unit test:

     make unit-test

E2E test

  1. Configure your db information into the config-dev file:

tko: credentials: hostname: your_sql_instance_ip username: sql_use password: sql_password database: sql_db_name timezone: US/Pacific

  1. Run ci_results_archiver locally:

     make run-local

Note, this will run in one-shot mode with the dev config. Make sure your desktop IP has been whitelisted by the TKO Cloud SQL instance. To export data to BigQuery, you need a service account json key in the folder. For internal users, run make load-credentials first.

Build the docker

  1. Build the docker locally:

     make local-build
  2. Build docker on GCP:

     make cloud-build

By default it creates the image to project If this is not your preference, please configure it in Makefile.

Deploy to GKE cluster

If you want to deploy the docker to ChromeOS Lab project, please refer our internal doc for more details.