Hi all,

We've been seeing intermittent test failures in CI that don't appear to be
caused by actual code defects, but rather by non-deterministic factors such
as timing, network issues, resource contention, or test ordering. These
flaky failures block builds and require manual re-runs, which wastes CI
time and reviewer attention.

**Proposal:** Introduce automatic retries for failed tests in CI. For
example, if a test fails, it could be re-run up to two times before the
build is marked as failed. This is a common approach for large test suites
and can help absorb environmental flakiness without masking consistently
reproducible failures.

Before moving forward, I think we should align on a few points:

* **Build status:** If a test fails initially but passes on retry, should
the build remain green, or should we still flag it with a warning so we can
identify and address flaky tests?
* **Retry limit:** How many retries should we allow? Should we also define
a limit on the total number of failures before stopping retries, since a
high number of failures is more likely to indicate a real regression?
* **Visibility:** Should we track which tests are being retried over time?
This would help us identify chronically flaky tests instead of allowing
them to remain flaky indefinitely.

I've already looked into a low-effort way to implement this using our
existing Gradle-based build setup. Once we agree on the approach, I should
be able to prepare a PR quickly.

Looking forward to your thoughts.

Reply via email to