Skip to content

ci(session-replay): unstick the iOS legacy-arch build - #871

Open
Vadman97 wants to merge 4 commits into
mainfrom
ci/fix-ios-legacy-yarn-hang
Open

Vadman97 wants to merge 4 commits into
mainfrom
ci/fix-ios-legacy-yarn-hang

Conversation

@Vadman97

@Vadman97 Vadman97 commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The iOS build (legacy arch, RN 0.78) job in Session Replay (Legacy Architecture) has been cancelled on every recent main run (and on PRs such as #869 and #870), because it hits its 90-minute timeout. Three separate problems, all fixed in .github/workflows/session-replay-legacy-arch.yml:

  1. yarn install --immutable stalls on macOS. The full monorepo install (4139 packages) reaches the Link step, then a third-party node install.js build script sits at 0% CPU waiting on the network. On macos-15 it took 4-5 minutes; on macos-14 it never returned (e.g. run 40960772736 stopped printing at 22:21:59 and was cancelled at 23:47). The iOS job now runs yarn workspaces focus session-replay-react-native-legacy-example (about 1500 packages, only protobufjs/esbuild/lefthook get built). It finishes in about 70s and doesn't rewrite yarn.lock.
  2. macOS 14 runner images retire on 2026-11-02 and are already in scheduled brownouts, so jobs get cancelled the moment they're picked up (actions/runner-images#13518). The job moves to macos-15.
  3. Stale example-legacy/ios/Podfile.lock. Once the install worked, pod install failed because the lock pins LaunchDarklySessionReplay 0.46.1 while the podspec now requires ~> 0.56.2 (bumped in fix(session-replay-react-native): bump native SDKs to latest #839). CI now runs pod update LaunchDarklySessionReplay LaunchDarklyObservability so those pods follow the podspec. Every other pod keeps its locked version.

The job timeout drops from 90 to 45 minutes, and the install step gets its own 15-minute timeout, so a new stall fails fast. The Android job is unchanged; it was already green.

Demo

Green workflow_dispatch run on this branch: https://github.com/launchdarkly/observability-sdk/actions/runs/41111059484 (both jobs succeeded)

Install example app dependencies   18:57:20 -> 18:58:29   (was: >90 min, cancelled)
Install pods (legacy arch)         18:58:29 -> 18:59:55   Installing LaunchDarklySessionReplay (0.56.2) ... Pod installation complete!
Build iOS (Debug, simulator)       18:59:55 -> 19:17:02   ** BUILD SUCCEEDED **

The last commit only rewords a YAML comment; the PR's own run re-checks it.

🤖 Generated with Claude Code


Note

Overview
Fixes the Session Replay (Legacy Architecture) iOS job, which was timing out at 90 minutes on every run.

The job now runs on macos-15 (replacing retiring macos-14) with a 45-minute job timeout. Dependency install switches from a full yarn install --immutable to yarn workspaces focus session-replay-react-native-legacy-example, with a 15-minute step timeout, to avoid macOS stalls during the Link step from unrelated packages' install scripts.

Pod setup no longer runs plain pod install against a stale lockfile; CI runs pod update LaunchDarklySessionReplay LaunchDarklyObservability --repo-update so native LaunchDarkly pods match the SDK podspec while other pods stay pinned. The Android legacy job is unchanged.

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

Vadman97 and others added 4 commits October 30, 2026 18:50
…ging

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Generated-by: termag
macOS 14 runner images retire on 2026-11-02 and are in scheduled
brownouts (actions/runner-images#13518).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Generated-by: termag
…ile.lock

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Generated-by: termag
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Generated-by: termag
@Vadman97
Vadman97 requested a review from a team as a code owner October 30, 2026 19:18
@Vadman97

Copy link
Copy Markdown
Contributor Author

bugbot run

@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.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit bf71f35. Configure here.

This branch has not been deployed

No deployments
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