tvl-depot/ops/gerrit-autosubmit
Vincent Ambo 623805cecd feat(ops/gerrit-autosubmit): init simple gerrit autosubmitter
Adds a small Rust program that connects to the Gerrit API and uses a
simple algorithm to figure out which changes should be submitted, and
submits them:

* it fetches all changes the Gerrit query API considers
  submittable (i.e. all requirements fulfilled), and that have the
  `Autosubmit` label set

* it filters these changes down to those that are _actually_
  submittable (in Gerrit API terms: that have an active Submit button)

* it filters out those that would submit ancestors that are *not*
  marked with the `Autosubmit` label

* it submits the longest chain

After that it just loops.

There is no rebasing logic yet for when it "runs out" of submittable
changes, but it will not be difficult to add.

Relates to b/333.

Change-Id: Ib91ecf2c45b178e8c64ff7b2174d617d4c45efe2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10131
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: ezemtsov <eugene.zemtsov@gmail.com>
Autosubmit: tazjin <tazjin@tvl.su>
2023-11-27 21:50:37 +00:00
..
src feat(ops/gerrit-autosubmit): init simple gerrit autosubmitter 2023-11-27 21:50:37 +00:00
.gitignore feat(ops/gerrit-autosubmit): init simple gerrit autosubmitter 2023-11-27 21:50:37 +00:00
Cargo.lock feat(ops/gerrit-autosubmit): init simple gerrit autosubmitter 2023-11-27 21:50:37 +00:00
Cargo.toml feat(ops/gerrit-autosubmit): init simple gerrit autosubmitter 2023-11-27 21:50:37 +00:00
default.nix feat(ops/gerrit-autosubmit): init simple gerrit autosubmitter 2023-11-27 21:50:37 +00:00