From 557105802d09cc9da4ec6076db39417718ec6046 Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Thu, 6 Nov 2025 14:23:57 +0100 Subject: [PATCH 1/4] chore(ci): Bump back iOS CI runners to macos-15 --- .github/workflows/e2e-v2.yml | 8 ++++---- .github/workflows/native-tests.yml | 2 +- .github/workflows/sample-application-expo.yml | 2 +- .github/workflows/sample-application.yml | 4 ++-- .github/workflows/testflight.yml | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/e2e-v2.yml b/.github/workflows/e2e-v2.yml index 74b450cc16..f6bb87f9c5 100644 --- a/.github/workflows/e2e-v2.yml +++ b/.github/workflows/e2e-v2.yml @@ -38,7 +38,7 @@ jobs: platform: ["ios", "android"] include: - platform: ios - runs-on: macos-14 + runs-on: macos-15 name: iOS appPlain: performance-tests/test-app-plain.ipa - platform: android @@ -180,11 +180,11 @@ jobs: - platform: ios rn-version: '0.81.0' xcode-version: '16.2' - runs-on: macos-14 + runs-on: macos-15 - platform: ios rn-version: '0.71.11' xcode-version: '14.2' - runs-on: macos-13 + runs-on: macos-15 - platform: android runs-on: ubuntu-latest exclude: @@ -310,7 +310,7 @@ jobs: include: - platform: ios rn-version: '0.81.0' - runs-on: macos-14 + runs-on: macos-15 - platform: android runs-on: ubuntu-latest diff --git a/.github/workflows/native-tests.yml b/.github/workflows/native-tests.yml index 2b8a087574..304cdaf520 100644 --- a/.github/workflows/native-tests.yml +++ b/.github/workflows/native-tests.yml @@ -18,7 +18,7 @@ jobs: test-ios: name: ios - runs-on: macos-14 + runs-on: macos-15 needs: [diff_check] if: ${{ needs.diff_check.outputs.skip_ci != 'true' }} steps: diff --git a/.github/workflows/sample-application-expo.yml b/.github/workflows/sample-application-expo.yml index 6d1008e5f6..44355bc8f5 100644 --- a/.github/workflows/sample-application-expo.yml +++ b/.github/workflows/sample-application-expo.yml @@ -36,7 +36,7 @@ jobs: include: - platform: ios xcode-version: '16.2' - runs-on: macos-14 + runs-on: macos-15 - platform: android runs-on: ubuntu-latest - platform: web diff --git a/.github/workflows/sample-application.yml b/.github/workflows/sample-application.yml index 8aa441da17..2af51356ab 100644 --- a/.github/workflows/sample-application.yml +++ b/.github/workflows/sample-application.yml @@ -44,7 +44,7 @@ jobs: include: - platform: ios xcode-version: '16.2' - runs-on: macos-14 + runs-on: macos-15 - platform: macos runs-on: macos-15 - platform: android @@ -223,7 +223,7 @@ jobs: matrix: include: - platform: ios - runs-on: macos-14 + runs-on: macos-15 rn-architecture: 'new' ios-use-frameworks: 'no-frameworks' build-type: 'production' diff --git a/.github/workflows/testflight.yml b/.github/workflows/testflight.yml index a0df4cad40..4a5bf03a92 100644 --- a/.github/workflows/testflight.yml +++ b/.github/workflows/testflight.yml @@ -14,7 +14,7 @@ jobs: upload_to_testflight: name: Build and Upload React Native Sample to Testflight - runs-on: macos-14 + runs-on: macos-15 needs: [diff_check] if: ${{ needs.diff_check.outputs.skip_ci != 'true' }} steps: From 100b74040f2f711014385519caf5b2d2c6418403 Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Thu, 6 Nov 2025 15:25:04 +0100 Subject: [PATCH 2/4] Bump xcode version for 0.71.11 --- .github/workflows/e2e-v2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-v2.yml b/.github/workflows/e2e-v2.yml index f6bb87f9c5..13eeea4d4e 100644 --- a/.github/workflows/e2e-v2.yml +++ b/.github/workflows/e2e-v2.yml @@ -183,7 +183,7 @@ jobs: runs-on: macos-15 - platform: ios rn-version: '0.71.11' - xcode-version: '14.2' + xcode-version: '16.2' runs-on: macos-15 - platform: android runs-on: ubuntu-latest From 9850b9fcba3f3127c29f1ac6b168d87dab42227e Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Tue, 18 Nov 2025 14:52:58 +0100 Subject: [PATCH 3/4] Bump E2E to iOS 15.1 --- .../patch-scripts/rn.patch.podfile.js | 36 +++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/dev-packages/e2e-tests/patch-scripts/rn.patch.podfile.js b/dev-packages/e2e-tests/patch-scripts/rn.patch.podfile.js index db43b54b54..8ab2afa36b 100755 --- a/dev-packages/e2e-tests/patch-scripts/rn.patch.podfile.js +++ b/dev-packages/e2e-tests/patch-scripts/rn.patch.podfile.js @@ -21,13 +21,16 @@ if (enableHermes === null) { throw new Error('Invalid engine'); } +// Optional iOS version argument, defaults to '15.1' due to Cocoa SDK V9 and RN 0.81.0 requirement +const iosVersion = args['ios-version'] || '15.1'; + debug.log('Patching Podfile', args['pod-file']); -const content = fs.readFileSync(args['pod-file'], 'utf8'); +let content = fs.readFileSync(args['pod-file'], 'utf8'); const isHermesEnabled = content.includes(':hermes_enabled => true,'); const shouldPatch = enableHermes !== isHermesEnabled; if (shouldPatch) { - const patched = content.replace( + content = content.replace( /:hermes_enabled.*/, enableHermes ? ':hermes_enabled => true,' : ':hermes_enabled => false,', ); @@ -36,7 +39,34 @@ if (shouldPatch) { } else { debug.log('Patching Podfile for JSC'); } - fs.writeFileSync(args['pod-file'], patched); +} + +// Patch iOS version +const platformPattern = /platform :ios, (min_ios_version_supported|['"][0-9.]+['"])/; +const currentMatch = content.match(platformPattern); + +if (currentMatch) { + const currentValue = currentMatch[1]; + const shouldPatchVersion = currentValue === 'min_ios_version_supported' || + currentValue !== `'${iosVersion}'`; + + if (shouldPatchVersion) { + content = content.replace( + platformPattern, + `platform :ios, '${iosVersion}'` + ); + debug.log(`Patching iOS version to ${iosVersion} (was: ${currentValue})`); + } else { + debug.log(`iOS version already set to ${iosVersion}`); + } +} else { + debug.log('Warning: Could not find platform :ios line to patch'); +} + +// Write the file if any changes were made +if (shouldPatch || currentMatch) { + fs.writeFileSync(args['pod-file'], content); + debug.log('Podfile patched successfully!'); } else { debug.log('Podfile is already patched!'); } From 587930058128b538d9ab5e9ce0ddbccbb73a8df4 Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Tue, 18 Nov 2025 14:53:28 +0100 Subject: [PATCH 4/4] Bump xcode to 16.4 --- .github/workflows/e2e-v2.yml | 6 +++--- .github/workflows/sample-application-expo.yml | 2 +- .github/workflows/sample-application.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/e2e-v2.yml b/.github/workflows/e2e-v2.yml index b7a745f59b..005660dd99 100644 --- a/.github/workflows/e2e-v2.yml +++ b/.github/workflows/e2e-v2.yml @@ -188,12 +188,12 @@ jobs: include: - platform: ios rn-version: '0.81.0' - xcode-version: '16.2' + xcode-version: '16.4' runs-on: macos-15 - platform: ios rn-version: '0.71.11' - xcode-version: '16.2' - runs-on: macos-15 + xcode-version: '14.2' + runs-on: macos-13 - platform: android runs-on: ubuntu-latest exclude: diff --git a/.github/workflows/sample-application-expo.yml b/.github/workflows/sample-application-expo.yml index 79771350d4..d3966c75a1 100644 --- a/.github/workflows/sample-application-expo.yml +++ b/.github/workflows/sample-application-expo.yml @@ -44,7 +44,7 @@ jobs: build-type: ['dev', 'production'] include: - platform: ios - xcode-version: '16.2' + xcode-version: '16.4' runs-on: macos-15 - platform: android runs-on: ubuntu-latest diff --git a/.github/workflows/sample-application.yml b/.github/workflows/sample-application.yml index c231095c79..df24769281 100644 --- a/.github/workflows/sample-application.yml +++ b/.github/workflows/sample-application.yml @@ -52,7 +52,7 @@ jobs: build-type: ['dev', 'production'] include: - platform: ios - xcode-version: '16.2' + xcode-version: '16.4' runs-on: macos-15 - platform: macos runs-on: macos-15