Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/e2e-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,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
Expand Down Expand Up @@ -188,8 +188,8 @@ jobs:
include:
- platform: ios
rn-version: '0.81.0'
xcode-version: '16.2'
runs-on: macos-14
xcode-version: '16.4'
runs-on: macos-15
- platform: ios
rn-version: '0.71.11'
xcode-version: '14.2'
Expand Down Expand Up @@ -319,7 +319,7 @@ jobs:
include:
- platform: ios
rn-version: '0.81.0'
runs-on: macos-14
runs-on: macos-15
- platform: android
runs-on: ubuntu-latest

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/native-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,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:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sample-application-expo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ jobs:
build-type: ['dev', 'production']
include:
- platform: ios
xcode-version: '16.2'
runs-on: macos-14
xcode-version: '16.4'
runs-on: macos-15
- platform: android
runs-on: ubuntu-latest
- platform: web
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/sample-application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ jobs:
build-type: ['dev', 'production']
include:
- platform: ios
xcode-version: '16.2'
runs-on: macos-14
xcode-version: '16.4'
runs-on: macos-15
- platform: macos
runs-on: macos-15
- platform: android
Expand Down Expand Up @@ -232,7 +232,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'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/testflight.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
36 changes: 33 additions & 3 deletions dev-packages/e2e-tests/patch-scripts/rn.patch.podfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -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,',
);
Expand All @@ -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!');
}
Loading