Skip to content

Conversation

@yschimke
Copy link
Collaborator

To automate identification of CI flakes

  • Adds a script to analyze GitHub Actions logs for build.yml.
  • Extracts and aggregates failure counts per test class.
  • Includes documentation of currently known flaky tests as of Jan 2026.

To automate identification of CI flakes

 - Adds a script to analyze GitHub Actions logs for build.yml.
 - Extracts and aggregates failure counts per test class.
 - Includes documentation of currently known flaky tests as of Jan 2026.
@yschimke yschimke changed the title Add flake detector skill Add flake detector Jan 10, 2026
yschimke and others added 12 commits January 10, 2026 13:36
- Implement reproduce-flakes.sh for local testing of identified flakes.

- Modify identify-flakes.sh to output clean test names.

- Update SKILL.md with reproduction instructions.

- Apply @RepeatedTest(100) to known flaky tests in codebase.

- Optimize reproduce-flakes.sh for faster test discovery.

- Fix RouteFailureTest by adding takeRequest() to address flaky assertion.
…pTest

- HttpOverHttp2Test: Add sleep to ensure cancellation propagates before checking connection reuse.
- Http2ConnectionTest: Add synchronization to WindowCounter visibility.
- WebSocketHttpTest: Assert failure to ensure connection close cleanup.
- Revert @RepeatedTest to @test.
# Conflicts:
#	okhttp/src/jvmTest/kotlin/okhttp3/internal/http2/HttpOverHttp2Test.kt
The test was deadlocking because request headers were buffered but not flushed, causing the client to block waiting for a response that the server wouldn't send until it received headers.
Added http2Connection.flush() in Http2ExchangeCodec.writeRequestHeaders to ensure headers are sent immediately.
- Make EventListenerRelay thread-safe using AtomicInteger for event counting. This prevents race conditions when events happen concurrently (e.g. Cancel and CallFailed).
- Revert @RepeatedTest to @test for cancelAsyncCall and successfulCallEventSequenceForEnqueue.
These tests were likely repeated to verify recent fixes, but should be standard tests in the main branch.
- Revert @RepeatedTest to @test in DuplexTest, EventListenerTest, Http2ConnectionTest, HttpOverHttp2Test, WebSocketHttpTest.
- Increase sleep in HttpOverHttp2Test.recoverFromMultipleCancelReusesConnection to 500ms to be robust in CI.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant