Clone this repo:
  1. 2b776e5 Merge "Disable PreCQ" by Jason Clinton · 10 weeks ago firmware-sarien-12200.B master release-R75-12105.B release-R76-12239.B stabilize-12105.75.B stabilize-12121.B stabilize-12202.B stabilize-12206.B stabilize-12222.B stabilize-12249.B stabilize-flapjack-12109.B stabilize-kukui-12285.B
  2. 2c98ae9 Disable PreCQ by Jason D. Clinton · 10 weeks ago
  3. 4b3585c Update Exonerator for CQ+2 transition by Jason D. Clinton · 3 months ago stabilize-12088.B
  4. 439eba7 Remove waterfall parameter from InsertBuild calls in tests by David Burger · 7 months ago factory-atlas-11907.B factory-octopus-11512.B factory-sarien-12033.B firmware-atlas-11827.12.B firmware-atlas-11827.B firmware-kalista-11343.B release-R72-11316.B release-R73-11647.B release-R74-11895.B stabilize-111316.112.B stabilize-11316.123.B stabilize-11316.146.B stabilize-11316.148.B stabilize-11316.35.B stabilize-11316.37.B stabilize-11316.76.B stabilize-11316.82.B stabilize-11554.B stabilize-11647.104.B stabilize-11686.B stabilize-11839.3.B stabilize-11839.B stabilize-11895.108.B stabilize-11895.109.B stabilize-11895.118.B stabilize-11895.72.B stabilize-11895.89.B stabilize-11895.95.B stabilize-11998.B stabilize-12054.B stabilize-12058.B stabilize-12060.B stabilize-12061.B stabilize-atlas-11512.6.B stabilize-atlas-11512.B stabilize-atlas.11448.B stabilize-octopus-11316.37.B stabilize-octopus-11316.38.B
  5. 55604ba Add trivial pre-cq e2e test by Paul Hobbs · 1 year, 2 months ago factory-grunt-11164.B factory-nami-10715.B factory-nocturne-10984.B factory-nocturne-11066.B factory-rammus-11289.B firmware-grunt-11031.B firmware-nami-10775.108.B firmware-nami-10775.B firmware-nocturne-10984.B firmware-octopus-11297.B firmware-rammus-11275.B firmware-servo-11011.B release-R68-10718.B release-R69-10895.B release-R70-11021.B release-R71-11151.B stabilize-10682.B stabilize-10718.111.B stabilize-10718.69.B stabilize-10718.71.B stabilize-10718.88.B stabilize-10866.B stabilize-10895.56.B stabilize-10895.B stabilize-10985.B stabilize-11005.B stabilize-11020.B stabilize-11021.84.B stabilize-11101.B stabilize-11151.100.B stabilize-11151.113.B stabilize-11151.59.B stabilize-11217.B stabilize-11306.B stabilize-atlas-11022.B stabilize-atlas-11177.B stabilize-atlas.10736.B stabilize-atlas.10819.B stabilize-jetstream-11056.B stabilize-nocturne-10986.B stabilize-nocturne.10646.B stabilize-nocturne.10736.B stabilize-nocturne.10819.B stabilize-nocturne.10828.B

CL Exonerator


This app finds CLs which were incorrectly blamed for a CQ failure, and re-marks them as CQ-ready. It does this by polling cidb‘s buildMessageTable for finalize messages, then finds CLs which were blamed in the build’s annotatations and marks them as CQ+1 in Gerrit (if they haven't already been).


Create a “creds” folder, then:

  • For local development, run “cros cidbcreds --folder=creds/cidb” to fetch the readonly credentials.

  • For deploying to production, see go/cros-cidb-admin and get the prod_cidb_gen2_annotator credentials.


Local deployment is done by creating a virtualenv with pipenv:

# pipsi is a nice python utility for installing other python scripts in their
# own virtualenvs, so you don't get version conflicts between the various
# scripts installed on your system.
sudo `which pip` install pipsi
pipsi install pipenv
pipenv install --dev
pipenv shell

Tests are run with pytest:

pipenv run pytest exonerator

Start a development server with bin/local_server and run curl -u admin http://localhost:8080/cls?type=pending to see a list of pending CLs.


CL-Exonerator is deployed to the project. Before deploying, make sure you have activated it as your default project with gcloud:

gcloud config set project chromiumos-cl-exonerator

Then deploy with the ./deploy_app script:

pipenv shell
  • Debug environment:

Run ./deploy_app --debug=True after copying or symlinking debug_cidbi_gen2_bot creds into ./creds/cidb.dbg (see the [Credentials][#Credentials] section)

  • Production:

Run “./deploy_app” after copying or symlinking prod_cidb_gen2_bot creds into “./creds/cidb”.