[roll] Roll infra/recipes [gerrit_auto_submit] Stop if limit hit, regardless of builder state

There's already code to stop retrying auto-submit after the maximum
number of attempts is met, using builder state. However, the builder
state for individual commit hashes is periodically cleared, effectively
resetting the number of attempts and letting auto-submit run all over
again.

Leave that logic in place, but also skip CLs where there hasn't been
other activity recently. Specifically, if max_attempts is 4, and the
most recent 4 messages are auto-submit triggering CQ+2, do not set CQ+2
again. This will keep auto-submit from trying a CL many times beyond
max_attempts for weeks until somebody notices.

Do this by grabbing all recent messages on the CL, filtering out the CQ
service account, and then looking at whether the last message was posted
by the auto-submit service account. If that message was part of a string
of messages by the same SA with length max_attempts or greater, don't
trigger CQ.

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/612577
Original-Revision: c40309ff53bf0c7903b2b304d1a4fae9f7f4bdba
GitOrigin-RevId: 9857f8c015312ba04ff3a499ab7abff124648270
Change-Id: I8e5f9229b23d54e856bf71489274da24ed179a31
1 file changed
tree: 466d069a08cc997e76db6664cae07a568d539201
  1. infra/
  2. third_party/
  3. cts
  4. firmware
  5. flower
  6. jiri.lock
  7. minimal
  8. prebuilts
  9. README.md
  10. stem
  11. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.