Old thread, but I have searched a lot for possible solutions, and found a few, but maybe not the most excellent one.
One approach is just to let some builds fail and then manually let them through. This gets tedious over time.
One approach seems to be using the topic, but there is no good way to keep a topic together at the time of "Patchset created".
One other approach is to make a retrigger, which executes everytime some change with the same topic is changed. But if the change is spread out through a lot of submodules, there can be a lot of failures before we have a final result.
An enhancement is to manually tell Gerrit, when all patch sets of a topic is uploaded, and then retrigger all patchset created included in the topic.
The problem I have, that is not solved with @mooyah's approach is that one of the submodules cannot be built on its own, but is a collection of common parts. This common submodule breaks the build very often.
I really want the CI to wait for the whole topic upload.
Also I found that Gerrit merges the submodules if you Submit the superproject, even if no review is done in the submodules. This seemed quite weird.
Maybe I am also missing something about the superproject/submodules handling in Gerrit?
BR
/Mattias