From f7c757774b616696f3afd1b1cd4e5bf54adaf220 Mon Sep 17 00:00:00 2001 From: Vadim Korolik Date: Fri, 30 Oct 2026 18:50:26 +0000 Subject: [PATCH 1/4] ci(session-replay): focus the iOS legacy-arch install so it stops hanging Co-Authored-By: Claude Opus 5.5 Generated-by: termag --- .github/workflows/session-replay-legacy-arch.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/session-replay-legacy-arch.yml b/.github/workflows/session-replay-legacy-arch.yml index 9dbb917250..ac8a33692e 100644 --- a/.github/workflows/session-replay-legacy-arch.yml +++ b/.github/workflows/session-replay-legacy-arch.yml @@ -73,7 +73,7 @@ jobs: ios-legacy: name: iOS build (legacy arch, RN 0.78) - timeout-minutes: 90 + timeout-minutes: 45 runs-on: macos-14 steps: - name: Checkout @@ -86,8 +86,14 @@ jobs: node-version: 24.15.0 cache: 'yarn' - - name: Install workspace dependencies - run: yarn install --immutable + # A full-monorepo `yarn install` hangs on macOS in the Link step + # (an unrelated package's build script never exits), so the job + # used to sit until the timeout. Install only the example app + # and its workspace deps; `focus` reads yarn.lock without + # rewriting it. + - name: Install example app dependencies + timeout-minutes: 15 + run: yarn workspaces focus session-replay-react-native-legacy-example - name: Install pods (legacy arch) working-directory: ${{ env.EXAMPLE_DIR }}/ios From 1a9797d620742a099791d56cf67dff088a37ffa7 Mon Sep 17 00:00:00 2001 From: Vadim Korolik Date: Fri, 30 Oct 2026 18:51:29 +0000 Subject: [PATCH 2/4] ci(session-replay): move the iOS legacy-arch job to macos-15 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 Generated-by: termag --- .github/workflows/session-replay-legacy-arch.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/session-replay-legacy-arch.yml b/.github/workflows/session-replay-legacy-arch.yml index ac8a33692e..816e64df2c 100644 --- a/.github/workflows/session-replay-legacy-arch.yml +++ b/.github/workflows/session-replay-legacy-arch.yml @@ -74,7 +74,7 @@ jobs: ios-legacy: name: iOS build (legacy arch, RN 0.78) timeout-minutes: 45 - runs-on: macos-14 + runs-on: macos-15 steps: - name: Checkout uses: actions/checkout@v4 From 93fd8b0893b6b706becd7ccf0e5a87948925fd0f Mon Sep 17 00:00:00 2001 From: Vadim Korolik Date: Fri, 30 Oct 2026 18:55:54 +0000 Subject: [PATCH 3/4] ci(session-replay): refresh the LaunchDarkly pods past the stale Podfile.lock Co-Authored-By: Claude Opus 5.5 Generated-by: termag --- .github/workflows/session-replay-legacy-arch.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/session-replay-legacy-arch.yml b/.github/workflows/session-replay-legacy-arch.yml index 816e64df2c..aba0079205 100644 --- a/.github/workflows/session-replay-legacy-arch.yml +++ b/.github/workflows/session-replay-legacy-arch.yml @@ -99,7 +99,12 @@ jobs: working-directory: ${{ env.EXAMPLE_DIR }}/ios env: RCT_NEW_ARCH_ENABLED: '0' - run: bundle install && bundle exec pod install --repo-update + # The committed Podfile.lock lags the SDK podspec whenever the + # native LaunchDarkly pods are bumped, so let CocoaPods move just + # those pods (and their deps) to what the podspec asks for. + run: | + bundle install + bundle exec pod update LaunchDarklySessionReplay LaunchDarklyObservability --repo-update - name: Build iOS (Debug, simulator) working-directory: ${{ env.EXAMPLE_DIR }}/ios From bf71f355f74865bd613e6f2c19397e242c8f8652 Mon Sep 17 00:00:00 2001 From: Vadim Korolik Date: Fri, 30 Oct 2026 19:18:06 +0000 Subject: [PATCH 4/4] ci(session-replay): describe the macOS install stall accurately Co-Authored-By: Claude Opus 5.5 Generated-by: termag --- .github/workflows/session-replay-legacy-arch.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/session-replay-legacy-arch.yml b/.github/workflows/session-replay-legacy-arch.yml index aba0079205..153ce5e03a 100644 --- a/.github/workflows/session-replay-legacy-arch.yml +++ b/.github/workflows/session-replay-legacy-arch.yml @@ -86,9 +86,10 @@ jobs: node-version: 24.15.0 cache: 'yarn' - # A full-monorepo `yarn install` hangs on macOS in the Link step - # (an unrelated package's build script never exits), so the job - # used to sit until the timeout. Install only the example app + # A full-monorepo `yarn install` stalls on macOS in the Link step: + # an unrelated package's `node install.js` build script sits idle + # on the network (4-5 min on macos-15, never returned on macos-14), + # so the job used to hit its timeout. Install only the example app # and its workspace deps; `focus` reads yarn.lock without # rewriting it. - name: Install example app dependencies