diff --git a/.github/workflows/microsoft-build-rntester.yml b/.github/workflows/microsoft-build-rntester.yml index 20797e8f8d07..c24f754f5e1d 100644 --- a/.github/workflows/microsoft-build-rntester.yml +++ b/.github/workflows/microsoft-build-rntester.yml @@ -5,7 +5,7 @@ on: jobs: build-rntester: - name: "${{ matrix.platform }}, ${{ matrix.arch }}" + name: "${{ matrix.platform }}, ${{ matrix.arch }}, ${{ matrix.linkage }}" runs-on: macos-26 timeout-minutes: 90 strategy: @@ -13,6 +13,7 @@ jobs: matrix: platform: [macos, ios, visionos] arch: [oldarch, newarch] + linkage: [static, dynamic] include: # Platform-specific properties - platform: macos @@ -32,6 +33,11 @@ jobs: new_arch_enabled: '0' - arch: newarch new_arch_enabled: '1' + # Linkage-specific properties + - linkage: static + use_frameworks: '' + - linkage: dynamic + use_frameworks: 'dynamic' steps: - uses: actions/checkout@v4 @@ -53,8 +59,15 @@ jobs: working-directory: packages/rn-tester env: RCT_NEW_ARCH_ENABLED: ${{ matrix.new_arch_enabled }} + USE_FRAMEWORKS: ${{ matrix.use_frameworks }} run: | set -eox pipefail + # USE_FRAMEWORKS is empty for static-library builds; unset it so the + # Podfile keeps its default (static libraries) instead of coercing an + # empty linkage value. + if [[ -z "$USE_FRAMEWORKS" ]]; then + unset USE_FRAMEWORKS + fi bundle install bundle exec pod install --verbose diff --git a/packages/react-native/third-party-podspecs/RCT-Folly.podspec b/packages/react-native/third-party-podspecs/RCT-Folly.podspec index 8852179b6ce2..0b9388d6a7aa 100644 --- a/packages/react-native/third-party-podspecs/RCT-Folly.podspec +++ b/packages/react-native/third-party-podspecs/RCT-Folly.podspec @@ -49,6 +49,7 @@ Pod::Spec.new do |spec| 'folly/lang/CString.cpp', 'folly/lang/Exception.cpp', 'folly/memory/ReentrantAllocator.cpp', + 'folly/memory/SanitizeLeak.cpp', 'folly/memory/detail/MallocImpl.cpp', 'folly/net/NetOps.cpp', 'folly/portability/SysUio.cpp',