tree 7cb256f57e76e603e31998f9e4e0270f6fbfb8af
parent 18bfc77abd4f27de76b961f5f489b555cefaba44
author John "codefu" McDole <codefu@google.com> 1783718912 -0700
committer GitHub <noreply@github.com> 1783718912 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJqUWQACRC1aQ7uu5UhlAAAO7kQAF/ydsG9Sqgd1s9YFnMPVowt
 fMAFbF4hPoGQUyqv4yWXqsLTey8KczVzAEaGecY7KYdM6NAvGAwPoNQwCOf+bJj6
 qR08OJxZPZTci8wn2DDysfbY7ATDodse6tCbMuRIJrKZACY/d85taT++3lo0DieA
 mQ3g1UY6z/+5/poavFq3uhMfc3VZuq4/06aJspa+J+f8uWCUYYSb2IvnAlSvOKb1
 VvPZo5T0gcJovBlLHm36G1+J1ZEfqTF6hr67IzxEvS70mYXiMpduzd+fOCC2YSUE
 sO/5T9XYZtvi60VmOIQ5zBKgY0uz09tSLLd/PIke14x2ybzxo5Qet8qOyfCD+k0k
 TclQWKJu0MxHeKi4/SvOR/ayR0Xh5xrpb/153SzIrzCqoWyjaEbZXdV75QX4C3Ru
 N3mcikhA3g5e/0kIRpUmywYkXs9Vc5ieDMrNaIEQJxr3ZI9ur5NiHQiyqg4OmvSc
 dsyGL7pl3U9eJE9Pdi7H+eQYYzov2V8BzTPqskIaE+DKlB61720+9Uf6Q3r5sxUE
 tNZD96GhyvxdpLxgJgS2JkKXM0AD+/wz8pdEfuIBOP3GqI6nyB79myAz9HA1y8Mq
 3AetYPu0SfIzksdzOFJ6xSSAaqVvVGClzja0d6nUow0u3HANmMH/IOCnVz4Yllwl
 5XX3yjQz2xJ8g/eVIzyR
 =cv1q
 -----END PGP SIGNATURE-----
 

refactor(presubmit_guard): update API used by wait_for_tests to support more Cocoon scheduled tests. (#5102)

Enhances `_getCiStagingFallback` in the presubmit guard handler to
handle task rerun sequences chronologically and filter bringup tasks.

> [!NOTE]
> We should probably rename this function since it now blends all tests.
Its really just "give me the tests... please".

| Repository | Unified Status | Presubmit | GitHub Merge Queue |
Post-Submit |
| :--- | :--- | :---: | :--- | :--- |
| **`flutter/flutter`** | Non-Unified | **Yes** | Engine Phase Only |
Engine Phase + Tasks |
| **`flutter/flutter`** | Unified | **Yes** | Engine Phase Only | Engine
Phase + Tasks |
| **`flutter/packages`** | Non-Unified | **No** | *No Merge Queue* |
Tasks Only |
| **`flutter/packages`** | Unified | **Yes** | *No Merge Queue* | Tasks
Only |

> [!NOTE]
> * **`flutter/flutter`** always uses `ciStaging` (Engine Phase) in the
Merge Queue and blends them with general tasks in Post-Submit.
> * **`flutter/packages`** does not have a Merge Queue. It only includes
Presubmit tasks once unified, and transitions directly to general tasks
in Post-Submit.
> * **`flutter/packages`** does not use wait_for_tests in presubmits, so
enabling unified checkruns fixes this..