|author||Paul Hobbs <email@example.com>||Fri Apr 20 20:22:13 2018|
|committer||Paul Hobbs <firstname.lastname@example.org>||Sun Apr 22 01:08:15 2018|
Add trivial pre-cq e2e test BUG=chromium:835076 TEST=main_test Change-Id: I8aae58cd86123925168bbf6f3990ea50c6c3a843
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 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
Run ./deploy_app --debug=True after copying or symlinking debug_cidbi_gen2_bot creds into ./creds/cidb.dbg (see the [Credentials][#Credentials] section)
Run “./deploy_app” after copying or symlinking prod_cidb_gen2_bot creds into “./creds/cidb”.