After two years of eager anticipation (better late than never), I would like
to finally announce the availability of the "batch" and "task" plugins on
https://gerrit-review.googlesource.com! I gave a talk about these plugins
at the 2016 Gerrit User Summit, and earlier this week at the Gerrit
Hackathon in Palo Alto I was able to finally complete a basic port of these
plugins to the open source versions of Gerrit. They are now available for
consumption, feedback, and improvement.
We use both of these plugins internally and would like to share them with
the Gerrit community with the hope that more common solutions will be
available to CI developers. They are focused abstractions of some principles
and ideas that we have found essential and common to designing reliable CI
systems. They are aimed at supporting large teams and organizations with a
high throughput of change creation and submission. They help support
complex custom business workflow requirements and inter team coordination
for change vetting, testing, and submission.
The batch plugin:
https://gerrit-review.googlesource.com/admin/repos/plugins/batch
From the plugin description:
The batch plugin provides a mechanism for building and previewing sets of
proposed updates to multiple projects/branches/refs that should be applied
together. The focus of batch updates tend to be verification (by CI
systems). The batch update service provides the tools to build refs by
merging changes to temporary "snapshot" refs, which can then be tested
extensively, and finally submitted "as is".
The task plugin:
https://gerrit-review.googlesource.com/admin/repos/plugins/task
From the plugin description:
The task plugin provides a mechanism to manage tasks which need to be
performed on changes along with a way to expose and query this information.
Tasks are organized hierarchically, and task definitions use Gerrit queries
to define which changes each task applies to, and how to define the status
criteria for each task. An important use case of the task plugin is to have
a common place for CI systems to define which changes they will operate on,
and when they will do so.
I would really love to hear any stories about people's experiences with
them. Thanks!
-Martin
* The 2016 Gerrit User summit talk abstract:
https://gerrit.googlesource.com/summit/2016/+/3f554b767555ecc144bb9c197aaff5
51e27ab9f1/sessions/ci-system-plugins.md
* Some previous discussions about the need for the batch plugin.
https://groups.google.com/d/msg/repo-discuss/O2KIkHEoU38/OFnwBexyAQAJ
https://groups.google.com/d/msg/repo-discuss/JpgVDENhISg/SKPGJ8urDAAJ
https://groups.google.com/d/msg/repo-discuss/N6QazQQgLRk/XCmOKee9AAAJ
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation