Clone this repo:
  1. e3886f4 gerrit_cq.py: Add check to ensure missing emails are handled by Mike Nichols · 1 year ago factory-drallion-13080.B factory-excelsior-12812.B factory-hatch-12692.B factory-kukui-12587.B firmware-drallion-12930.B firmware-endeavour-13259.B firmware-hatch-12669.B firmware-hatch-12672.B firmware-kukui-12573.B firmware-mistral-12422.B firmware-servo-12768.B master release-R77-12371.B release-R78-12499.B release-R79-12607.B release-R80-12739.B release-R81-12871.B release-R82-12974.B release-R83-13020.B release-R84-13099.B stabilize-12371.11.B stabilize-12371.26.B stabilize-12371.27.B stabilize-12371.39.B stabilize-12371.48.B stabilize-12371.50.B stabilize-12371.52.B stabilize-12371.65.B stabilize-12371.71.B stabilize-12371.75.B stabilize-12371.80.B stabilize-12371.81.B stabilize-12371.82.B stabilize-12371.89.B stabilize-12386.B stabilize-12428.B stabilize-12441.B stabilize-12464.B stabilize-12499.18.B stabilize-12515.B stabilize-12560.B stabilize-12593.B stabilize-12607.15.B stabilize-12607.3.B stabilize-12607.5.B stabilize-12607.55.B stabilize-12607.58.B stabilize-12607.6.B stabilize-12607.82.B stabilize-12669.B stabilize-12739.105.B stabilize-12739.106.B stabilize-12739.111.B stabilize-12748.B stabilize-12859.B stabilize-12871.102.B stabilize-12871.103.B stabilize-12871.24.B stabilize-12871.57.B stabilize-12871.65.B stabilize-12871.91.B stabilize-12881.B stabilize-12951.B stabilize-12997.B stabilize-13020.55.B stabilize-13020.67.B stabilize-13020.87.B stabilize-13070.B stabilize-13099.70.B stabilize-13099.72.B stabilize-13099.73.B stabilize-13099.85.B stabilize-13099.90.B stabilize-excelsior-12739.67.B stabilize-kernelnext-broadwell-12434.B stabilize-mtbf-12607.83.B stabilize-octopus-12371.15.B stabilize-quickfix-12607.83.B stabilize-quickfix-12739.71.B stabilize-quickfix-12871.27.B stabilize-sylas-13019.B stabilize-volteer-12665.B stabilize-volteer-12931.B
  2. 97ac1d2 cl_exonerator: Add OWNERS file by Chris McDonald · 1 year, 1 month ago factory-mistral-12361.B stabilize-12331.B
  3. 2b776e5 Merge "Disable PreCQ" by Jason Clinton · 1 year, 4 months ago firmware-sarien-12200.B release-R75-12105.B release-R76-12239.B stabilize-12105.100.B stabilize-12105.75.B stabilize-12121.B stabilize-12202.B stabilize-12206.B stabilize-12222.B stabilize-12239.19.B stabilize-12239.46.B stabilize-12239.67.B stabilize-12239.89.B stabilize-12239.92.B stabilize-12249.B stabilize-12301.B stabilize-flapjack-12109.B stabilize-kukui-12285.B
  4. 2c98ae9 Disable PreCQ by Jason D. Clinton · 1 year, 4 months ago
  5. 4b3585c Update Exonerator for CQ+2 transition by Jason D. Clinton · 1 year, 4 months ago stabilize-12088.B

CL Exonerator

https://chromium.googlesource.com/chromiumos/infra/cl_exonerator

Purpose:

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).

Credentials

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.

Development

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.

Deployment

CL-Exonerator is deployed to the google.com:chromiumos-cl-exonerator 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
./deploy_app
  • 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”.