Skip to content

chore(e2e): Bump E2E tests to React Native 0.87.0 - #6616

Merged
antonis merged 8 commits into
mainfrom
chore/e2e-bump-rn-0.87.0
Aug 28, 2026
Merged

chore(e2e): Bump E2E tests to React Native 0.87.0#6616
antonis merged 8 commits into
mainfrom
chore/e2e-bump-rn-0.87.0

Conversation

@antonis

@antonis antonis commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

Bumps the E2E test matrix to React Native 0.87.0 (from 0.86.2) in .github/workflows/e2e-v2.ymlrn-version in all matrix blocks (build matrix, iOS Xcode-26 include, and the second test matrix).

The E2E test apps are generated fresh from the matrix rn-version, so no other files need to change (matching the approach in #6268 and #6536). Note that RN 0.87 removed the top-level types field from react-native's package.json (Strict TypeScript API is now the default), so bumping the dev-packages/e2e-tests library dependency would break its tsc build (TS2688); that library builds against its pinned RN and is version-independent of the app under test, so it's intentionally left unchanged here.

💡 Motivation and Context

React Native 0.87.0 has been released. This bumps the E2E tests to verify the SDK works correctly with the new version.

Relates to #6527.

💚 How did you test it?

CI E2E workflow (e2e-v2.yml) against RN 0.87.0.

📝 Checklist

  • I added tests to verify changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • All tests passing.
  • Public API changes reviewed by another Mobile SDK team member or implemented according to the develop docs spec.
  • No breaking changes.

🔮 Next steps

Bump the sample apps separately #6619

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


  • chore(e2e): Bump E2E tests to React Native 0.87.0 by antonis in #6616
  • chore(deps): update CLI to v3.7.0 by github-actions in #6632
  • feat(tracing): Copy app start vitals onto standalone children by buenaflor in #6631
  • chore(deps): update Cocoa SDK to v9.26.1 by github-actions in #6623
  • fix(ios): Force-load the Sentry static archive to keep ObjC category methods by antonis in #6615
  • feat(core): Forward feature flag evaluations to the native SDKs by antonis in #6613
  • chore(deps): update Android SDK to v8.54.0 by github-actions in #6624
  • chore(deps): update Sentry Android Gradle Plugin to v6.20.0 by github-actions in #6627

🤖 This preview updates automatically when you update the PR.

@antonis antonis added the ready-to-merge Triggers the full CI test suite label Aug 26, 2026
@antonis antonis linked an issue Aug 26, 2026 that may be closed by this pull request
@antonis
antonis force-pushed the chore/e2e-bump-rn-0.87.0 branch from b70f0d1 to a9c8633 Compare August 26, 2026 14:12
@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3830.43 ms 1222.75 ms -2607.68 ms
Size 5.08 MiB 6.80 MiB 1.72 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
0a9e622+dirty 3835.87 ms 1221.07 ms -2614.80 ms
7d6fd3a+dirty 1223.29 ms 1229.57 ms 6.28 ms
5ca03f9+dirty 3844.55 ms 1218.36 ms -2626.19 ms
774257e+dirty 3846.90 ms 1215.02 ms -2631.88 ms
40c9884+dirty 3837.72 ms 1226.61 ms -2611.11 ms
4e0b819+dirty 3839.05 ms 1210.75 ms -2628.30 ms
d038a14+dirty 3845.71 ms 1228.11 ms -2617.59 ms
57e0069+dirty 3842.29 ms 1212.12 ms -2630.17 ms
882f8ae+dirty 3840.30 ms 1224.41 ms -2615.88 ms
5125c43+dirty 3846.45 ms 1221.12 ms -2625.32 ms

App size

Revision Plain With Sentry Diff
0a9e622+dirty 4.98 MiB 6.51 MiB 1.53 MiB
7d6fd3a+dirty 3.38 MiB 4.77 MiB 1.39 MiB
5ca03f9+dirty 4.98 MiB 6.53 MiB 1.55 MiB
774257e+dirty 5.15 MiB 6.70 MiB 1.54 MiB
40c9884+dirty 4.98 MiB 6.51 MiB 1.53 MiB
4e0b819+dirty 4.98 MiB 6.46 MiB 1.49 MiB
d038a14+dirty 5.15 MiB 6.67 MiB 1.51 MiB
57e0069+dirty 4.98 MiB 6.50 MiB 1.52 MiB
882f8ae+dirty 5.15 MiB 6.70 MiB 1.54 MiB
5125c43+dirty 5.15 MiB 6.68 MiB 1.53 MiB

@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 503.53 ms 555.44 ms 51.91 ms
Size 49.74 MiB 55.66 MiB 5.91 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
44c8b3f+dirty 414.20 ms 457.28 ms 43.08 ms
083e3ef+dirty 446.67 ms 491.68 ms 45.01 ms
3b6e9f9+dirty 442.70 ms 486.44 ms 43.74 ms
26843eb+dirty 532.15 ms 624.13 ms 91.98 ms
84cba31+dirty 511.12 ms 567.62 ms 56.50 ms
eb93136+dirty 416.18 ms 467.32 ms 51.14 ms
9c84b9a+dirty 520.74 ms 539.38 ms 18.64 ms
0a147b2+dirty 464.71 ms 538.81 ms 74.09 ms
dbc0a89+dirty 434.82 ms 453.63 ms 18.82 ms
d387874+dirty 438.69 ms 453.77 ms 15.08 ms

App size

Revision Plain With Sentry Diff
44c8b3f+dirty 48.30 MiB 53.46 MiB 5.15 MiB
083e3ef+dirty 49.74 MiB 55.36 MiB 5.61 MiB
3b6e9f9+dirty 48.30 MiB 53.54 MiB 5.23 MiB
26843eb+dirty 49.74 MiB 55.26 MiB 5.52 MiB
84cba31+dirty 49.74 MiB 55.37 MiB 5.63 MiB
eb93136+dirty 48.30 MiB 53.58 MiB 5.28 MiB
9c84b9a+dirty 49.74 MiB 55.36 MiB 5.62 MiB
0a147b2+dirty 49.74 MiB 55.08 MiB 5.34 MiB
dbc0a89+dirty 49.74 MiB 55.45 MiB 5.71 MiB
d387874+dirty 49.74 MiB 55.44 MiB 5.70 MiB

@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3844.60 ms 1226.91 ms -2617.68 ms
Size 5.08 MiB 6.80 MiB 1.72 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
083e3ef+dirty 3871.96 ms 1234.95 ms -2637.01 ms
04207c4+dirty 1228.55 ms 1226.04 ms -2.51 ms
acd838e+dirty 3835.94 ms 1215.87 ms -2620.07 ms
ab203f9+dirty 3850.11 ms 1213.16 ms -2636.95 ms
27d9693+dirty 3837.40 ms 1227.74 ms -2609.67 ms
fa21fca+dirty 3845.12 ms 1215.89 ms -2629.24 ms
0d9949d+dirty 1203.94 ms 1202.27 ms -1.67 ms
ca9d079+dirty 3818.62 ms 1216.72 ms -2601.90 ms
1e5d96d+dirty 3845.93 ms 1222.51 ms -2623.42 ms
5748023+dirty 3844.74 ms 1225.49 ms -2619.26 ms

App size

Revision Plain With Sentry Diff
083e3ef+dirty 4.98 MiB 6.55 MiB 1.57 MiB
04207c4+dirty 3.38 MiB 4.76 MiB 1.38 MiB
acd838e+dirty 5.15 MiB 6.70 MiB 1.55 MiB
ab203f9+dirty 4.98 MiB 6.50 MiB 1.52 MiB
27d9693+dirty 4.98 MiB 6.51 MiB 1.53 MiB
fa21fca+dirty 4.98 MiB 6.55 MiB 1.57 MiB
0d9949d+dirty 3.38 MiB 4.76 MiB 1.38 MiB
ca9d079+dirty 5.15 MiB 6.69 MiB 1.53 MiB
1e5d96d+dirty 4.98 MiB 6.46 MiB 1.49 MiB
5748023+dirty 5.15 MiB 6.68 MiB 1.53 MiB

@antonis
antonis marked this pull request as ready for review August 27, 2026 07:46
@antonis antonis removed the ready-to-merge Triggers the full CI test suite label Aug 27, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown

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, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a9c8633. Configure here.

Comment thread .github/workflows/e2e-v2.yml
@antonis antonis added the ready-to-merge Triggers the full CI test suite label Aug 27, 2026
@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 437.40 ms 435.59 ms -1.81 ms
Size 49.74 MiB 55.66 MiB 5.91 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
1a5721e+dirty 433.44 ms 462.80 ms 29.36 ms
68672fc+dirty 407.55 ms 442.96 ms 35.41 ms
0b5120f+dirty 413.75 ms 468.86 ms 55.11 ms
b9bebee+dirty 500.50 ms 536.42 ms 35.92 ms
3a829f0+dirty 410.78 ms 454.22 ms 43.44 ms
2363c0f+dirty 419.48 ms 463.92 ms 44.44 ms
d038a14+dirty 405.08 ms 444.36 ms 39.28 ms
1a2e7e0+dirty 451.98 ms 501.50 ms 49.52 ms
27d9693+dirty 438.63 ms 514.08 ms 75.46 ms
04207c4+dirty 395.40 ms 456.55 ms 61.15 ms

App size

Revision Plain With Sentry Diff
1a5721e+dirty 49.74 MiB 55.09 MiB 5.34 MiB
68672fc+dirty 48.30 MiB 53.61 MiB 5.31 MiB
0b5120f+dirty 48.30 MiB 53.58 MiB 5.28 MiB
b9bebee+dirty 48.30 MiB 53.58 MiB 5.28 MiB
3a829f0+dirty 48.30 MiB 53.58 MiB 5.28 MiB
2363c0f+dirty 49.74 MiB 54.84 MiB 5.10 MiB
d038a14+dirty 48.30 MiB 53.49 MiB 5.19 MiB
1a2e7e0+dirty 49.74 MiB 54.82 MiB 5.07 MiB
27d9693+dirty 49.74 MiB 55.09 MiB 5.34 MiB
04207c4+dirty 43.94 MiB 48.98 MiB 5.04 MiB

@antonis antonis added ready-to-merge Triggers the full CI test suite and removed ready-to-merge Triggers the full CI test suite labels Aug 27, 2026
antonis and others added 2 commits August 27, 2026 16:45
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
RN 0.87.0 dropped Node 20 from its supported `engines` (0.86.2 allowed
`^20.19.4`, 0.87.0 requires `^22.13.0 || ^24.3.0 || >= 26.0.0`), so the E2E
jobs must run on Node 22. The `react-native-build` matrix still includes
0.71.19, which stays on Node 20 via a matrix expression to avoid regressing
the legacy build onto an untested Node.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@antonis
antonis force-pushed the chore/e2e-bump-rn-0.87.0 branch from ec7fe8e to f20d2d7 Compare August 27, 2026 14:46

@antonis antonis left a comment

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.

Converting to draft to investigate why End-to-End Tests V2 / Test RN 0.87.0 Android tests get stuck

@antonis
antonis marked this pull request as draft August 27, 2026 15:46

@lucas-zimerman lucas-zimerman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

antonis and others added 5 commits August 28, 2026 09:12
…o-edge

RN 0.87 enables edge-to-edge by default, drawing app content behind the
system status bar. The injected E2E readiness screen rendered its
"E2E Tests Ready" header at y≈0, fully occluded by the status-bar window,
so Maestro's assertVisible dropped it from the hierarchy and every Android
flow failed at launch. Pad the root View by StatusBar.currentHeight
(Android-only; 0 on iOS) so the header clears the status bar.

Verified on a physical Pixel 8 Pro (arm64, edgeToEdgeEnabled=true): the
readiness Maestro flow now passes and the header renders at y=113.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@antonis
antonis force-pushed the chore/e2e-bump-rn-0.87.0 branch from 798c29f to 3f2823c Compare August 28, 2026 13:25
…ck flow

Under RN 0.87 edge-to-edge the open soft keyboard occludes 'Take a
screenshot' on CI's shorter viewport, so scrollUntilVisible could never
reveal it. Dismiss the keyboard first, mirroring the pre-submit step
already used later in the same flow.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@antonis
antonis marked this pull request as ready for review August 28, 2026 14:46
@antonis
antonis merged commit 0b0f006 into main Aug 28, 2026
94 of 97 checks passed
@antonis
antonis deleted the chore/e2e-bump-rn-0.87.0 branch August 28, 2026 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Triggers the full CI test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test with RN 0.87

2 participants