A single flaky test currently causes the PR unit test status check to fail. This increases the latency to merge the PR because someone has to rerun the failed status check after the whole set of builds completes. Repeated failures of flaky tests on a PR makes this problem even worse.
While flaky tests are being analyzed and fixed, it would be good to have a way to prevent tests that are designated as flaky from failing PR status checks on a single failure. Some rough ideas:
Create a dedicated build for flaky tests. Tests could be marked flaky by adding Flaky in the test name so we can use go test -skip .*Flaky / go test -run .*Flaky to control when flaky tests are run.
Retry flaky tests in a dedicated build. This could use some existing merge queue solutions for GitHub, if it works for us, or a dedicated build we design
A single flaky test currently causes the PR unit test status check to fail. This increases the latency to merge the PR because someone has to rerun the failed status check after the whole set of builds completes. Repeated failures of flaky tests on a PR makes this problem even worse.
While flaky tests are being analyzed and fixed, it would be good to have a way to prevent tests that are designated as flaky from failing PR status checks on a single failure. Some rough ideas:
Flaky
in the test name so we can usego test -skip .*Flaky
/go test -run .*Flaky
to control when flaky tests are run.