Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
fee63c3
chore(e2e): Bump E2E tests to RN 0.81.1
antonis Aug 27, 2025
4c0c8df
Merge branch 'main' into antonis/bump-e2e-0.81.1
antonis Sep 4, 2025
f81b534
fix quote issue in rn 0.81.1
antonis Sep 4, 2025
e32325e
Merge branch 'main' into antonis/bump-e2e-0.81.1
antonis Sep 5, 2025
d286f49
Merge branch 'main' into antonis/bump-e2e-0.81.1
antonis Sep 8, 2025
7f731c5
Bump to 0.82.0-rc.1
antonis Sep 9, 2025
f69babe
Merge branch 'main' into antonis/bump-e2e-0.82.0-rc.1
lucas-zimerman Sep 30, 2025
e9ec039
bump to rc-5
antonis Oct 3, 2025
4d9a4d3
Merge branch 'main' into antonis/bump-e2e-0.82.0-rc.1
antonis Oct 6, 2025
b1cd313
Set to final 0.82
antonis Oct 13, 2025
6921298
Merge branch 'main' into antonis/bump-e2e-0.82.0-rc.1
antonis Oct 13, 2025
bd86de7
Merge branch 'main' into antonis/bump-e2e-0.82.0-rc.1
antonis Oct 17, 2025
648fbaa
Merge branch 'main' into antonis/bump-e2e-0.82.0-rc.1
antonis Oct 31, 2025
b3b108a
Merge branch 'main' into antonis/bump-e2e-0.82.0-rc.1
antonis Nov 5, 2025
a564127
Bump to 0.82.1
antonis Nov 5, 2025
5571058
chore(ci): Bump back iOS CI runners to macos-15
antonis Nov 6, 2025
100b740
Bump xcode version for 0.71.11
antonis Nov 6, 2025
f0628ca
Merge branch 'main' into antonis/bump-runners-to-macos-15
antonis Nov 18, 2025
9850b9f
Bump E2E to iOS 15.1
antonis Nov 18, 2025
5879300
Bump xcode to 16.4
antonis Nov 18, 2025
63238e4
Merge branch 'main' into antonis/bump-runners-to-macos-15
antonis Dec 2, 2025
221d0fe
chore(ci): Update hardcoded Xcode 16.2 references to 16.4
antonis Dec 2, 2025
22745f8
chore(ci): Update iOS simulator to iPhone SE (3rd generation) with iO…
antonis Dec 2, 2025
89a09de
Scroll to make button visible
antonis Dec 3, 2025
e927b60
Merge branch 'main' into antonis/bump-runners-to-macos-15
antonis Dec 3, 2025
b20e610
Extend wait for button
antonis Dec 3, 2025
fd80aaa
Revert "Extend wait for button"
antonis Dec 3, 2025
71f9b86
Use iPhone 16
antonis Dec 3, 2025
2a71fc7
Run native tests on iPhone 16 too
antonis Dec 3, 2025
1adea0f
Merge branch 'antonis/bump-runners-to-macos-15' into antonis/bump-e2e…
antonis Dec 3, 2025
6f8adaf
Test patch
antonis Dec 4, 2025
79a55bf
Fix iOS patch script
antonis Dec 4, 2025
821bfd4
Exclude 0.82.1 dynamic
antonis Dec 4, 2025
9e70b02
Merge branch 'main' into antonis/bump-e2e-0.82.0-rc.1
antonis Dec 4, 2025
8f069e0
Merge branch 'main' into antonis/bump-e2e-0.82.0-rc.1
antonis Dec 5, 2025
ca161ae
Merge branch 'main' into antonis/bump-e2e-0.82.0-rc.1
antonis Dec 9, 2025
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
15 changes: 10 additions & 5 deletions .github/workflows/e2e-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,15 +179,15 @@ jobs:
strategy:
fail-fast: false # keeps matrix running if one fails
matrix:
rn-version: ['0.71.19', '0.81.0']
rn-version: ['0.71.19', '0.82.1']
rn-architecture: ['legacy', 'new']
platform: ['android', 'ios']
build-type: ['production']
ios-use-frameworks: ['no', 'static', 'dynamic']
engine: ['hermes', 'jsc']
include:
- platform: ios
rn-version: '0.81.0'
rn-version: '0.82.1'
xcode-version: '16.4'
runs-on: macos-15
- platform: ios
Expand All @@ -198,7 +198,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.1'
engine: 'jsc'
# exclude all rn versions lower than 0.80.0 for new architecture
- rn-version: '0.71.19'
Expand All @@ -218,6 +218,11 @@ jobs:
# exclude new rn architecture and dynamic frameworks
- rn-architecture: 'new'
ios-use-frameworks: 'dynamic'
# exclude RN 0.82.1 with dynamic frameworks due to React Native circular dependency bug
# https://github.com/facebook/react-native/issues/54267
- rn-version: '0.82.1'
platform: 'ios'
ios-use-frameworks: 'dynamic'

steps:
- uses: actions/checkout@v6
Expand Down Expand Up @@ -310,15 +315,15 @@ jobs:
strategy:
fail-fast: false # keeps matrix running if one fails
matrix:
rn-version: ['0.81.0']
rn-version: ['0.82.1']
rn-architecture: ['legacy', 'new']
platform: ['android', 'ios']
build-type: ['production']
ios-use-frameworks: ['no'] # test only no frameworks
engine: ['hermes']
include:
- platform: ios
rn-version: '0.81.0'
rn-version: '0.82.1'
runs-on: macos-15
- platform: android
runs-on: ubuntu-latest
Expand Down
7 changes: 7 additions & 0 deletions dev-packages/e2e-tests/cli.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,13 @@
env: Object.assign(env, { YARN_ENABLE_IMMUTABLE_INSTALLS: false }),
});

// Patch react-native-launch-arguments for Gradle 9+ compatibility
execSync(`${patchScriptsDir}/rn.patch.launch-arguments.js --app-dir .`, {
stdio: 'inherit',
cwd: appDir,
env: env,
});

// Patch the app
execSync(`patch --verbose --strip=0 --force --ignore-whitespace --fuzz 4 < ${patchScriptsDir}/rn.patch`, {
stdio: 'inherit',
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#!/usr/bin/env node

const fs = require('fs');
const path = require('path');
const { argv } = require('process');

const parseArgs = require('minimist');
const { debug } = require('@sentry/core');
debug.enable();

const args = parseArgs(argv.slice(2));
if (!args['app-dir']) {
throw new Error('Missing --app-dir');
}

const buildGradlePath = path.join(
args['app-dir'],
'node_modules',
'react-native-launch-arguments',
'android',
'build.gradle'
);

debug.log('Patching react-native-launch-arguments build.gradle', buildGradlePath);

if (!fs.existsSync(buildGradlePath)) {
debug.log('build.gradle not found, skipping patch');
return;
}

const buildGradle = fs.readFileSync(buildGradlePath, 'utf8');

// Replace destinationDir with destinationDirectory.get() for Gradle 9+ compatibility
const isPatched = buildGradle.includes('destinationDirectory.get()');
if (!isPatched) {
const patched = buildGradle.replace(
/\.destinationDir\b/g,
'.destinationDirectory.get()'
);

fs.writeFileSync(buildGradlePath, patched);
debug.log('Patched react-native-launch-arguments build.gradle successfully!');
} else {
debug.log('react-native-launch-arguments build.gradle is already patched!');
}

2 changes: 1 addition & 1 deletion dev-packages/e2e-tests/patch-scripts/rn.patch.xcode.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export NODE_BINARY=node
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 ../node_modules/@sentry/react-native/scripts/sentry-xcode.sh $REACT_NATIVE_XCODE"
`;
bundleScriptRegex = /\/scripts\/react-native-xcode\.sh/i;
bundlePatchRegex = /sentry-cli\s+react-native\s+xcode/i;
Expand Down
Loading