Skip to content

ci(react-native): addressing detox build flakes#1250

Merged
joker23 merged 2 commits intomainfrom
skz/detox-flake
Apr 7, 2026
Merged

ci(react-native): addressing detox build flakes#1250
joker23 merged 2 commits intomainfrom
skz/detox-flake

Conversation

@joker23
Copy link
Copy Markdown
Contributor

@joker23 joker23 commented Apr 7, 2026

This PR will attempt to stablize the react native detox e2e tests in the CI pipelie.

There are 2 changes:

  1. We added 2 retry as 1 CI rerun will typically resolve the issue
  2. We added the event and streaming urls to the detox url blacklist

Open with Devin

Note

Low Risk
Low risk since changes are limited to CI test invocation and Detox synchronization settings, with no production runtime impact. Main risk is masking legitimate failures or over-broad URL blacklisting causing tests to miss regressions.

Overview
Stabilizes the React Native example Detox Android CI by adding --retries 2 to the Detox test run so transient emulator/test flakes are automatically retried.

Updates the e2e app launch args to broaden detoxURLBlacklistRegex to include LaunchDarkly streaming, SDK, and events endpoints, preventing ongoing network activity from blocking Detox test synchronization.

Reviewed by Cursor Bugbot for commit bd46d35. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

@launchdarkly/js-sdk-common size report
This is the brotli compressed size of the ESM build.
Compressed size: 25661 bytes
Compressed size limit: 29000
Uncompressed size: 126143 bytes

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

@launchdarkly/browser size report
This is the brotli compressed size of the ESM build.
Compressed size: 179221 bytes
Compressed size limit: 200000
Uncompressed size: 830035 bytes

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

@launchdarkly/js-client-sdk-common size report
This is the brotli compressed size of the ESM build.
Compressed size: 37166 bytes
Compressed size limit: 38000
Uncompressed size: 204365 bytes

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

@launchdarkly/js-client-sdk size report
This is the brotli compressed size of the ESM build.
Compressed size: 31733 bytes
Compressed size limit: 34000
Uncompressed size: 112845 bytes

@joker23 joker23 changed the title ci(react-native): add blacklist urls and retries ci(react-native): addressing detox build flakes Apr 7, 2026
@joker23 joker23 marked this pull request as ready for review April 7, 2026 17:50
@joker23 joker23 requested a review from a team as a code owner April 7, 2026 17:50
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit bd46d35. Configure here.

// Detox waits for HTTP requests to complete. Blacklist all LD endpoints so
// streaming, polling, and event requests don't block test synchronization.
detoxURLBlacklistRegex:
'\\(".*clientstream.launchdarkly.com.*",".*clientsdk.launchdarkly.com.*",".*events.launchdarkly.com.*"\\)',
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure why we would want this for polling/events, when those requests should end.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The thinking was that those request could potentially time out the launchApp since all of flaky tests all fail due to launchApp so thought it wouldn't hurt to not sync these on start up as there is a timeout on the test when we actually trigger an identify...

That said, this is also probably not actual problem with the test so I don't mind removing this change.

@joker23 joker23 merged commit 2ca1c62 into main Apr 7, 2026
50 checks passed
@joker23 joker23 deleted the skz/detox-flake branch April 7, 2026 21:29
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.

2 participants