188110 failure Dashboard Checks as soon as 1 test fails#5095
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces PresubmitGuardState to track the previous and current states (remaining and failed jobs) of a CI stage, updating CiStaging, UnifiedCheckRun, and Scheduler accordingly. This allows unified check runs to fail immediately on the first failed job. Additionally, GuardStatus.calculate is updated to return a failed status immediately if there are any failed builds. The review feedback points out a critical correctness issue in scheduler.dart where the merge queue guard could be prematurely unlocked on successful jobs in unified check runs because the pending check is skipped even when no failures have occurred yet. A code suggestion is provided to ensure we only skip waiting if there is an active failure.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors the presubmit job tracking by replacing PresubmitCompletedJob with PresubmitJobState and introducing PresubmitGuardState to track previous and current job states. It also updates the scheduler to process job status updates through cleaner, flow-specific helper methods and modifies GuardStatus.calculate to fail immediately when any build fails. The review feedback highlights two critical issues: a potential null-pointer exception in scheduler.dart when accessing conclusion.checkRunGuard during an internal error, and an incorrect method invocation name in the generated mock file mocks.mocks.dart.
…nd only for first failed build
fix: flutter/flutter#188110