@@ -42,17 +42,18 @@ jobs:
4242 strategy :
4343 # we want that the matrix keeps running, default is to cancel them if it fails.
4444 fail-fast : false
45+ # Limit parallel jobs to avoid hitting Sauce Labs concurrency limits (max 3 sessions)
46+ max-parallel : 2
4547 matrix :
4648 rn-architecture : ['legacy', 'new']
4749 platform : ["ios", "android"]
4850 include :
4951 - platform : ios
50- runs-on : macos-26
52+ runs-on : ["ghcr.io/cirruslabs/ macos-tahoe-xcode:26.2.0", "runner_group_id:12"]
5153 name : iOS
5254 appPlain : performance-tests/test-app-plain.ipa
5355 - platform : android
54- # Not using the latest version due to a known issue: https://github.com/getsentry/sentry-react-native/issues/4418
55- runs-on : ubuntu-22.04
56+ runs-on : ["ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04", "runner_group_id:12"]
5657 name : Android
5758 appPlain : performance-tests/TestAppPlain/android/app/build/outputs/apk/release/app-release.apk
5859 steps :
@@ -61,17 +62,18 @@ jobs:
6162 - uses : ./.github/actions/disk-cleanup
6263 if : ${{ matrix.platform == 'android' }}
6364
64- - run : sudo xcode-select -s /Applications/Xcode_26.1.1.app/Contents/Developer
65- if : ${{ matrix.platform == 'ios' }}
66-
67- - run : npm i -g corepack
65+ - run : corepack enable
6866 - uses : actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
6967 with :
7068 package-manager-cache : false
7169 node-version : 20
7270 cache : ' yarn'
7371 cache-dependency-path : yarn.lock
7472
73+ - name : Install Ninja
74+ if : ${{ matrix.platform == 'android' }}
75+ run : sudo apt-get update && sudo apt-get install -y ninja-build
76+
7577 - uses : actions/setup-java@v5
7678 with :
7779 java-version : ' 17'
8082 - name : Gradle cache
8183 uses : gradle/gradle-build-action@v3
8284
85+ - uses : ruby/setup-ruby@v1
86+ if : ${{ matrix.platform == 'ios' }}
87+ with :
88+ ruby-version : ' 3.3.0'
89+
8390 - name : Install Global Dependencies
8491 run : npm i -g react-native-cli @sentry/cli
8592
@@ -115,9 +122,11 @@ jobs:
115122 if [[ ${{ matrix.rn-architecture }} == 'new' ]]; then
116123 export RCT_NEW_ARCH_ENABLED=1
117124 fi
118- pod install
125+ bundle install
126+ bundle exec pod install
119127 cd ../..
120- fastlane build_perf_test_app_plain
128+ bundle install
129+ bundle exec fastlane build_perf_test_app_plain
121130 fi
122131 env :
123132 APP_STORE_CONNECT_KEY_ID : ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
@@ -143,9 +152,11 @@ jobs:
143152 if [[ ${{ matrix.rn-architecture }} == 'new' ]]; then
144153 export RCT_NEW_ARCH_ENABLED=1
145154 fi
146- pod install
155+ bundle install
156+ bundle exec pod install
147157 cd ../..
148- fastlane build_perf_test_app_sentry
158+ bundle install
159+ bundle exec fastlane build_perf_test_app_sentry
149160 cd TestAppSentry
150161 fi
151162 env :
@@ -189,15 +200,23 @@ jobs:
189200 # Use Xcode 16 for older RN versions
190201 - platform : ios
191202 rn-version : ' 0.71.19'
203+ <<<<<<< antonis/rn-0.83.1
192204 xcode-version : ' 16.4'
193205 runs-on : macos-15
194206 # Use Xcode 26 for newer RN versions (0.84.0-rc.3)
195207 - platform : ios
196208 rn-version : ' 0.84.0-rc.3'
197209 xcode-version : ' 26.1.1'
198210 runs-on : macos-26
211+ =======
212+ runs-on : ["ghcr.io/cirruslabs/macos-sequoia-xcode:16.4", "runner_group_id:12"]
213+ # Use Xcode 26 for newer RN versions (0.83.0)
214+ - platform : ios
215+ rn-version : ' 0.83.0'
216+ runs-on : ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:12"]
217+ >>>>>>> main
199218 - platform : android
200- runs-on : ubuntu-latest
219+ runs-on : ["ghcr.io/cirruslabs/ ubuntu-runner-amd64:22.04", "runner_group_id:12"]
201220 exclude :
202221 # exclude JSC for new RN versions (keeping the matrix manageable)
203222 - rn-version : ' 0.84.0-rc.3'
@@ -247,17 +266,18 @@ jobs:
247266 echo "SENTRY_RELEASE=$SENTRY_RELEASE"
248267 echo "SENTRY_DIST=$SENTRY_DIST"
249268
250- - run : sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode-version }}.app/Contents/Developer
251- if : ${{ matrix.platform == 'ios' }}
252-
253- - run : npm i -g corepack
269+ - run : corepack enable
254270 - uses : actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
255271 with :
256272 package-manager-cache : false
257273 node-version : 20
258274 cache : ' yarn'
259275 cache-dependency-path : yarn.lock
260276
277+ - name : Install Ninja
278+ if : ${{ matrix.platform == 'android' }}
279+ run : sudo apt-get update && sudo apt-get install -y ninja-build
280+
261281 - uses : actions/setup-java@v5
262282 with :
263283 java-version : ' 17'
@@ -322,10 +342,15 @@ jobs:
322342 engine : ['hermes']
323343 include :
324344 - platform : ios
345+ <<<<<<< antonis/rn-0.83.1
325346 rn-version : ' 0.84.0-rc.3'
326347 runs-on : macos-26
348+ =======
349+ rn-version : ' 0.83.0'
350+ runs-on : macos-26
351+ >>>>>>> main
327352 - platform : android
328- runs-on : ubuntu-latest
353+ runs-on : ["ghcr.io/cirruslabs/ ubuntu-runner-amd64:22.04", "runner_group_id:12"]
329354
330355 steps :
331356 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
@@ -354,14 +379,19 @@ jobs:
354379 path : dev-packages/e2e-tests
355380
356381 - name : Enable Corepack
357- run : npm i -g corepack
382+ run : corepack enable
383+
358384 - uses : actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
359385 with :
360386 package-manager-cache : false
361387 node-version : 20
362388 cache : ' yarn'
363389 cache-dependency-path : yarn.lock
364390
391+ - name : Install Ninja
392+ if : ${{ matrix.platform == 'android' }}
393+ run : sudo apt-get update && sudo apt-get install -y ninja-build
394+
365395 - uses : actions/setup-java@v5
366396 with :
367397 java-version : ' 17'
@@ -417,11 +447,15 @@ jobs:
417447
418448 - name : Run tests on iOS
419449 if : ${{ matrix.platform == 'ios' }}
450+ env :
451+ # Increase timeout for Maestro iOS driver startup (default is 60s, some CI runners need more time)
452+ MAESTRO_DRIVER_STARTUP_TIMEOUT : 120000
420453 run : ./dev-packages/e2e-tests/cli.mjs ${{ matrix.platform }} --test
421454
422455 - name : Upload logs
423456 if : ${{ always() }}
424457 uses : actions/upload-artifact@v6
425458 with :
426459 name : ${{ matrix.rn-version }}-${{ matrix.rn-architecture }}-${{ matrix.engine }}-${{ matrix.platform }}-${{ matrix.build-type }}-${{ matrix.ios-use-frameworks }}-logs
427- path : ./dev-packages/e2e-tests/maestro-logs
460+ path : |
461+ ./dev-packages/e2e-tests/maestro-logs
0 commit comments