Skip to content
Merged
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
e2397d0
e2e tests on Cirrus Labs runners
alwx Dec 18, 2025
a04f351
Checking another group
alwx Dec 18, 2025
83a3d6a
rolling back last change
alwx Dec 18, 2025
1cb4e72
Merge branch 'main' into alwx/experiment/cirrus-labs
alwx Dec 23, 2025
bd991eb
Merge branch 'main' into alwx/experiment/cirrus-labs
alwx Jan 26, 2026
a933ded
Corepack enable
alwx Jan 28, 2026
9899e3d
Corepack enable
alwx Jan 28, 2026
61211d5
Ninja
alwx Jan 28, 2026
b5c48c1
Ruby install
alwx Jan 28, 2026
9142e2f
Ruby install
alwx Jan 28, 2026
da9811a
Updated env params
alwx Jan 29, 2026
3034d58
Trying to fix metrics job
alwx Jan 29, 2026
8c3a337
Merge branch 'main' into alwx/experiment/cirrus-labs
alwx Jan 29, 2026
550e671
Trying it out with Macos 26.0.1
alwx Jan 29, 2026
064ae98
iOS version env param change
alwx Jan 29, 2026
78bf149
Debug outputs
alwx Jan 29, 2026
92b254f
iDB companion update to potentially fix things on iOS side
alwx Jan 29, 2026
bd23cc4
Another attempt
alwx Jan 29, 2026
7da4011
Typo
alwx Jan 29, 2026
4c7db57
GH runners for tests
alwx Jan 29, 2026
d9d34c0
e2e fix attempt (with a temp workaround of using GH runners for tests)
alwx Jan 29, 2026
0c1d899
Rolling back some of experiments
alwx Jan 29, 2026
3ca98e6
Solving concurrency issues
alwx Jan 29, 2026
a685372
More GH runner issues
alwx Jan 29, 2026
6a25aaa
Merge branch 'main' into alwx/experiment/cirrus-labs
alwx Jan 29, 2026
cbd93fc
Merge branch 'main' into alwx/experiment/cirrus-labs
alwx Jan 30, 2026
ebb8321
Small fix
alwx Jan 30, 2026
bf21537
Fix-2
alwx Jan 30, 2026
a0aadff
Fix-3
alwx Jan 30, 2026
94cbad2
Hopefully final fix
alwx Jan 30, 2026
3ab0d17
Updated e2e tests, experiment
alwx Feb 2, 2026
0bffd95
Fixes
alwx Feb 2, 2026
cf75a1c
Merge branch 'main' into alwx/experiment/cirrus-labs
alwx Feb 2, 2026
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
67 changes: 43 additions & 24 deletions .github/workflows/e2e-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,18 @@ jobs:
strategy:
# we want that the matrix keeps running, default is to cancel them if it fails.
fail-fast: false
# Limit parallel jobs to avoid hitting Sauce Labs concurrency limits (max 3 sessions)
max-parallel: 2
matrix:
rn-architecture: ['legacy', 'new']
platform: ["ios", "android"]
include:
- platform: ios
runs-on: macos-26
runs-on: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:12"]
name: iOS
appPlain: performance-tests/test-app-plain.ipa
- platform: android
# Not using the latest version due to a known issue: https://github.com/getsentry/sentry-react-native/issues/4418
runs-on: ubuntu-22.04
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04", "runner_group_id:12"]
name: Android
appPlain: performance-tests/TestAppPlain/android/app/build/outputs/apk/release/app-release.apk
steps:
Expand All @@ -61,17 +62,18 @@ jobs:
- uses: ./.github/actions/disk-cleanup
if: ${{ matrix.platform == 'android' }}

- run: sudo xcode-select -s /Applications/Xcode_26.1.1.app/Contents/Developer
if: ${{ matrix.platform == 'ios' }}

- run: npm i -g corepack
- run: corepack enable
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
package-manager-cache: false
node-version: 20
cache: 'yarn'
cache-dependency-path: yarn.lock

- name: Install Ninja
if: ${{ matrix.platform == 'android' }}
run: sudo apt-get update && sudo apt-get install -y ninja-build

- uses: actions/setup-java@v5
with:
java-version: '17'
Expand All @@ -80,6 +82,11 @@ jobs:
- name: Gradle cache
uses: gradle/gradle-build-action@v3

- uses: ruby/setup-ruby@v1
if: ${{ matrix.platform == 'ios' }}
with:
ruby-version: '3.3.0'

- name: Install Global Dependencies
run: npm i -g react-native-cli @sentry/cli

Expand Down Expand Up @@ -115,9 +122,11 @@ jobs:
if [[ ${{ matrix.rn-architecture }} == 'new' ]]; then
export RCT_NEW_ARCH_ENABLED=1
fi
pod install
bundle install
bundle exec pod install
cd ../..
fastlane build_perf_test_app_plain
bundle install
bundle exec fastlane build_perf_test_app_plain
fi
env:
APP_STORE_CONNECT_KEY_ID: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
Expand All @@ -143,9 +152,11 @@ jobs:
if [[ ${{ matrix.rn-architecture }} == 'new' ]]; then
export RCT_NEW_ARCH_ENABLED=1
fi
pod install
bundle install
bundle exec pod install
cd ../..
fastlane build_perf_test_app_sentry
bundle install
bundle exec fastlane build_perf_test_app_sentry
cd TestAppSentry
fi
env:
Expand Down Expand Up @@ -189,15 +200,13 @@ jobs:
# Use Xcode 16 for older RN versions
- platform: ios
rn-version: '0.71.19'
xcode-version: '16.4'
runs-on: macos-15
runs-on: ["ghcr.io/cirruslabs/macos-sequoia-xcode:16.4", "runner_group_id:12"]
# Use Xcode 26 for newer RN versions (0.83.0)
- platform: ios
rn-version: '0.83.0'
xcode-version: '26.1.1'
runs-on: macos-26
runs-on: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:12"]
- platform: android
runs-on: ubuntu-latest
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04", "runner_group_id:12"]
exclude:
# exclude JSC for new RN versions (keeping the matrix manageable)
- rn-version: '0.83.0'
Expand Down Expand Up @@ -247,17 +256,18 @@ jobs:
echo "SENTRY_RELEASE=$SENTRY_RELEASE"
echo "SENTRY_DIST=$SENTRY_DIST"

- run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode-version }}.app/Contents/Developer
if: ${{ matrix.platform == 'ios' }}

- run: npm i -g corepack
- run: corepack enable
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
package-manager-cache: false
node-version: 20
cache: 'yarn'
cache-dependency-path: yarn.lock

- name: Install Ninja
if: ${{ matrix.platform == 'android' }}
run: sudo apt-get update && sudo apt-get install -y ninja-build

- uses: actions/setup-java@v5
with:
java-version: '17'
Expand Down Expand Up @@ -323,9 +333,9 @@ jobs:
include:
- platform: ios
rn-version: '0.83.0'
runs-on: macos-26
runs-on: macos-26
- platform: android
runs-on: ubuntu-latest
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04", "runner_group_id:12"]

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
Expand Down Expand Up @@ -354,14 +364,19 @@ jobs:
path: dev-packages/e2e-tests

- name: Enable Corepack
run: npm i -g corepack
run: corepack enable

- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
package-manager-cache: false
node-version: 20
cache: 'yarn'
cache-dependency-path: yarn.lock

- name: Install Ninja
if: ${{ matrix.platform == 'android' }}
run: sudo apt-get update && sudo apt-get install -y ninja-build

- uses: actions/setup-java@v5
with:
java-version: '17'
Expand Down Expand Up @@ -417,11 +432,15 @@ jobs:

- name: Run tests on iOS
if: ${{ matrix.platform == 'ios' }}
env:
# Increase timeout for Maestro iOS driver startup (default is 60s, some CI runners need more time)
MAESTRO_DRIVER_STARTUP_TIMEOUT: 120000
run: ./dev-packages/e2e-tests/cli.mjs ${{ matrix.platform }} --test

- name: Upload logs
if: ${{ always() }}
uses: actions/upload-artifact@v6
with:
name: ${{ matrix.rn-version }}-${{ matrix.rn-architecture }}-${{ matrix.engine }}-${{ matrix.platform }}-${{ matrix.build-type }}-${{ matrix.ios-use-frameworks }}-logs
path: ./dev-packages/e2e-tests/maestro-logs
path: |
./dev-packages/e2e-tests/maestro-logs
Loading