ordered presubmit builds processing#5104
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces ordered presubmit processing for LUCI build notifications by adding a new PresubmitOrderedSubscription endpoint, introducing an OrderingKeyTag to scheduled builds, and updating the PubSub service to support ordering keys. It also refactors the existing PresubmitLuciSubscription to inherit from a new base PresubmitSubscription class. The review feedback highlights an invalid Dart syntax error in the base class (override == .neutral ? .neutral : null) and suggests refactoring the common message parsing and validation logic into the base class's post method to eliminate code duplication, along with cleaning up unused imports.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors presubmit build status processing by extracting shared logic from PresubmitLuciSubscription into a new base class PresubmitSubscription, and introduces PresubmitOrderedSubscription to support sequential processing of LUCI notifications via PubSub ordering keys. It also adds configuration flags to control this feature and updates LuciBuildService to attach ordering keys to scheduled builds. The review feedback highlights three potential runtime issues in the newly created PresubmitSubscription class: a potential decompression crash if buildLargeFields is empty, a potential null pointer exception from force-unwrapping userData.checkRunId, and a potential type cast error when parsing presubmit_max_attempts.
fix: flutter/flutter#189029