Fix gerrit errors from production

This corrects the following errors.

Test fixture errors:

* Unlike the SSH API, the Gerrit REST API does not include
  COMMIT_MSG in the list of files.
* We weren't checking all elements of the (change id, branch,
  project) tuple when searching for change ids
* I observed a race around poll synchronization; I can't figure it out
  so I've added more debug log lines.

Production errors:

* Break after the first successful submit rather than attemping the
  call multiple times in all cases.  This was non-fatal.
* Only attempt to get the remote version if using HTTP.  This was
  non-fatal.
* URLquote search queries (they may contain '#').  The additional CRD
  tests cover this now.
* Coerce the list of files to a list rather than a dict_keys instance.
  The new single file test covers this.

Change-Id: I89a68b2d189b82f0bc64e78fbc875d5628cc2cf0
This commit is contained in:
James E. Blair
2019-09-18 15:49:41 -07:00
parent b7839e755a
commit b1ed58b172
7 changed files with 71 additions and 4 deletions

View File

@@ -0,0 +1,28 @@
- pipeline:
name: check
manager: independent
trigger:
gerrit:
- event: patchset-created
success:
gerrit:
Verified: 1
failure:
gerrit:
Verified: -1
- job:
name: base
parent: null
run: playbooks/base.yaml
- job:
name: irr-job
irrelevant-files:
- README
- project:
name: org/project
check:
jobs:
- irr-job