diff --git a/.github/workflows/e2e-v2.yml b/.github/workflows/e2e-v2.yml index 04b90ba287..ca9c3e63aa 100644 --- a/.github/workflows/e2e-v2.yml +++ b/.github/workflows/e2e-v2.yml @@ -164,7 +164,7 @@ jobs: strategy: fail-fast: false # keeps matrix running if one fails matrix: - rn-version: ['0.65.3', '0.81.0'] + rn-version: ['0.65.3', '0.82.0-rc.1'] rn-architecture: ['legacy', 'new'] platform: ['android', 'ios'] build-type: ['production'] @@ -172,7 +172,7 @@ jobs: engine: ['hermes', 'jsc'] include: - platform: ios - rn-version: '0.81.0' + rn-version: '0.82.0-rc.1' xcode-version: '16.2' runs-on: macos-14 - platform: ios @@ -183,7 +183,7 @@ jobs: runs-on: ubuntu-latest exclude: # exclude JSC for new RN versions (keeping the matrix manageable) - - rn-version: '0.81.0' + - rn-version: '0.82.0-rc.1' engine: 'jsc' # exclude all rn versions lower than 0.70.0 for new architecture - rn-version: '0.65.3' @@ -304,7 +304,7 @@ jobs: strategy: fail-fast: false # keeps matrix running if one fails matrix: - rn-version: ['0.65.3', '0.81.0'] + rn-version: ['0.65.3', '0.82.0-rc.1'] rn-architecture: ['legacy', 'new'] platform: ['android', 'ios'] build-type: ['production'] @@ -312,7 +312,7 @@ jobs: engine: ['hermes', 'jsc'] include: - platform: ios - rn-version: '0.81.0' + rn-version: '0.82.0-rc.1' runs-on: macos-14 - platform: ios rn-version: '0.65.3' @@ -326,7 +326,7 @@ jobs: # e2e test only the default combinations - rn-version: '0.65.3' engine: 'hermes' - - rn-version: '0.81.0' + - rn-version: '0.82.0-rc.1' engine: 'jsc' steps: diff --git a/dev-packages/e2e-tests/patch-scripts/rn.patch.xcode.js b/dev-packages/e2e-tests/patch-scripts/rn.patch.xcode.js index 072a885720..585a8cc1cd 100755 --- a/dev-packages/e2e-tests/patch-scripts/rn.patch.xcode.js +++ b/dev-packages/e2e-tests/patch-scripts/rn.patch.xcode.js @@ -20,6 +20,7 @@ if (!args['rn-version']) { debug.log('Patching Xcode project', args.project, 'for RN version', args['rn-version']); const newBundleScriptRNVersion = '0.69.0-rc.0'; +const quotesFixRNVersion = '0.81.1'; // Version where quotes break the script let bundleScript; let bundleScriptRegex; @@ -38,11 +39,14 @@ export NODE_BINARY=node bundlePatchRegex = /sentry-cli\s+react-native[\s-]xcode/; } else if (semver.satisfies(args['rn-version'], `>= ${newBundleScriptRNVersion}`, { includePrerelease: true })) { debug.log('Applying new bundle script patch'); + const useQuotes = semver.lt(args['rn-version'], quotesFixRNVersion); + const quoteChar = useQuotes ? '\\"' : ''; + bundleScript = ` WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh" REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh" -/bin/sh -c "$WITH_ENVIRONMENT \\"/bin/sh ../node_modules/@sentry/react-native/scripts/sentry-xcode.sh $REACT_NATIVE_XCODE\\"" +/bin/sh -c "$WITH_ENVIRONMENT ${quoteChar}/bin/sh ../node_modules/@sentry/react-native/scripts/sentry-xcode.sh $REACT_NATIVE_XCODE${quoteChar}" `; bundleScriptRegex = /\/scripts\/react-native-xcode\.sh/i; bundlePatchRegex = /sentry-cli\s+react-native\s+xcode/i;