We currently cannot predict when a given snapshot will be taken. This is
problematic as test impact analysis assumes that the coverage data will
be updated after each run. As we have no control over when our coverage
data will persist we will instead always seed when the pipeline and
branch is one of the seeding pipelines, otherwise we will attempt to
read that seed data and perform test impact analysis (if no seed data is
present we will fall back to a regular, uninstrumented run of all test
targets).
This approach has the following implications:
1. PR builds will benefit from test impact analysis as the seed data is
(hopefully) available at the time the snapshot is created.
2. Builds for the aforementioned seeding branches and pipelines will not
benefit from test impact analysis and will incur the cost of seeding
regardless of whether or not that generated seed data ends up in the
snapshot.
Signed-off-by: John <jonawals@amazon.com>