A few improvements have recently been made to the patch review and CI workflows.
First – the CI environment can now be told to retrigger testing of a patch, when it
appears that the previous test hit an intermittent failure unrelated to the patch in
question. To retrigger testing of a patch, simply add a comment to the patch on GerritHub
that starts with the word “retrigger”.
Second – the core maintainers are now using Gerrit hashtags in some cases to facilitate
patch review workflow. An explanation of the hashtags is listed below.
All of this will be documented on http://spdk.io/development
in the next couple of days.
= = =
SPDK core maintainers use a custom Gerrit dashboard to determine patches they should focus
on next for review. In some cases, a core maintainer may request further action before
voting on the patch. Further actions may include answering a question about a patch,
requesting a rebase for the patch, or requesting that another developer first vote the
In these cases, core maintainers will use Gerrit hashtags to mark patches where further
action has been requested. This will remove the patch from the list of patches that core
maintainers should focus on.
Once the request is met (i.e. the question is answered, the patch is rebased, or another
developer voted the patch +1), the hashtag can be removed by the patch owner. Once the
hashtag is removed, the patch will immediately go to the top of the list of patches for
the core maintainers to review.
Hashtags for a patch are listed on the patch's main Gerrit review page, in the same
area where the owner, reviewer, project and branch are listed. Hashtags can be removed by
clicking on the small X next to the name of the hashtag.
The following hashtags are currently used by core maintainers:
* "waiting for +1" - requests a specific reviewer to provide the +1 or requests
help from anyone to review the patch; the core maintainer will provide specifics in a
comment on the patch
* "needs rebase" - this requests the submitter to rebase the patch from the
latest master branch (or in some cases, newer versions of unmerged patches that the tagged
patch depends on)
* "question" - the core maintainer has a question about the patch that needs to
be answered before the core maintainer can vote on the patch