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
14 changes: 7 additions & 7 deletions .github/workflows/buildandtest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

job_test:
name: Test
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04", "runner_group_id:10"]
runs-on: ubuntu-latest
needs: [diff_check]
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
steps:
Expand All @@ -36,7 +36,7 @@ jobs:

job_lint:
name: Lint
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04", "runner_group_id:10"]
runs-on: ubuntu-latest
needs: [diff_check]
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
steps:
Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:

job_check_integrity:
name: Check package integrity
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04", "runner_group_id:10"]
runs-on: ubuntu-latest
needs: [diff_check]
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
steps:
Expand All @@ -127,7 +127,7 @@ jobs:

job_build:
name: Build
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04", "runner_group_id:10"]
runs-on: ubuntu-latest
needs: [diff_check]
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
steps:
Expand Down Expand Up @@ -169,7 +169,7 @@ jobs:

job_type_check:
name: Type Check Typescript 3.8
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04", "runner_group_id:10"]
runs-on: ubuntu-latest
needs: [job_build, diff_check]
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
env:
Expand Down Expand Up @@ -202,7 +202,7 @@ jobs:
run: yarn type-check
job_circular_dep_check:
name: Circular Dependency Check
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04", "runner_group_id:10"]
runs-on: ubuntu-latest
needs: [job_build, diff_check]
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
steps:
Expand Down Expand Up @@ -231,7 +231,7 @@ jobs:

job_bundle:
name: Bundle
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04", "runner_group_id:10"]
runs-on: ubuntu-latest
needs: [job_test, job_build, diff_check]
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
strategy:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codegen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
uses: ./.github/workflows/skip-ci.yml

codegen:
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04", "runner_group_id:10"]
runs-on: ubuntu-latest
needs: [diff_check]
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
strategy:
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/e2e-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,11 @@ jobs:
platform: ["ios", "android"]
include:
- platform: ios
runs-on: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:10"]
runs-on: macos-26
name: iOS
appPlain: performance-tests/test-app-plain.ipa
- platform: android
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04", "runner_group_id:10"]
runs-on: ubuntu-latest
name: Android
appPlain: performance-tests/TestAppPlain/android/app/build/outputs/apk/release/app-release.apk
steps:
Expand Down Expand Up @@ -237,13 +237,13 @@ jobs:
# Use Xcode 16 for older RN versions
- platform: ios
rn-version: '0.71.19'
runs-on: ["ghcr.io/cirruslabs/macos-sequoia-xcode:16.4", "runner_group_id:10"]
runs-on: macos-15
# Use Xcode 26 for newer RN versions (0.83.0)
- platform: ios
rn-version: '0.85.1'
runs-on: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:10"]
runs-on: macos-26
- platform: android
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04", "runner_group_id:10"]
runs-on: ubuntu-latest
exclude:
# exclude all rn versions lower than 0.80.0 for new architecture
- rn-version: '0.71.19'
Expand Down Expand Up @@ -392,9 +392,9 @@ jobs:
include:
- platform: ios
rn-version: '0.85.1'
runs-on: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:10"]
runs-on: macos-26
- platform: android
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04", "runner_group_id:10"]
runs-on: ubuntu-latest

steps:
- name: Check if platform is needed
Expand Down Expand Up @@ -518,7 +518,7 @@ jobs:
xcrun simctl bootstatus booted -b
# Launch and dismiss Settings.app to ensure SpringBoard and system services
# are fully initialized โ€” this avoids Maestro connecting to a half-booted
# simulator on Cirrus Labs Tart VMs.
# simulator.
xcrun simctl launch booted com.apple.Preferences
sleep 5
xcrun simctl terminate booted com.apple.Preferences
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/native-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:

test-ios:
name: ios
runs-on: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:10"]
runs-on: macos-26
needs: [diff_check, detect-changes]
if: ${{ needs.diff_check.outputs.skip_ci != 'true' && needs.detect-changes.outputs.needs_ios == 'true' }}
steps:
Expand Down Expand Up @@ -104,7 +104,7 @@ jobs:

test-android:
name: android
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04", "runner_group_id:10"]
runs-on: ubuntu-latest
needs: [diff_check, detect-changes]
if: ${{ needs.diff_check.outputs.skip_ci != 'true' && needs.detect-changes.outputs.needs_android == 'true' }}
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sample-application-expo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:

build-ios:
name: Build ios ${{ matrix.build-type }} ${{ matrix.ios-use-frameworks }}
runs-on: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:10"]
runs-on: macos-26
needs: [diff_check, detect-changes]
if: >-
${{
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/sample-application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ env:
IOS_APP_ARCHIVE_PATH: sentry-react-native-sample.app.zip
ANDROID_APP_ARCHIVE_PATH: sentry-react-native-sample.apk.zip
REACT_NATIVE_SAMPLE_PATH: samples/react-native
IOS_DEVICE: 'iPhone 16'
IOS_DEVICE: 'iPhone 17'
IOS_VERSION: '>=18.0'
ANDROID_API_LEVEL: '30'

Expand All @@ -44,7 +44,7 @@ jobs:

build-ios:
name: Build ${{ matrix.rn-architecture }} ios ${{ matrix.build-type }} ${{ matrix.ios-use-frameworks }}
runs-on: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:10"]
runs-on: macos-26
needs: [diff_check, detect-changes]
if: >-
${{
Expand Down Expand Up @@ -212,7 +212,7 @@ jobs:

build-macos:
name: Build legacy macos ${{ matrix.build-type }}
runs-on: ["ghcr.io/cirruslabs/macos-sequoia-xcode:16.4", "runner_group_id:10"]
runs-on: macos-15
needs: [diff_check, detect-changes]
if: >-
${{
Expand Down Expand Up @@ -290,7 +290,7 @@ jobs:

test-ios:
name: Test ios production REV2
runs-on: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:10"]
runs-on: macos-26
needs: [diff_check, detect-changes, build-ios]
if: >-
${{
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/size-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ jobs:
ios:
needs: [ready-to-merge-gate]
name: iOS Size Analysis
runs-on: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:10"]
runs-on: macos-26
timeout-minutes: 45

steps:
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: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:10"]
runs-on: macos-26
needs: [diff_check]
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
steps:
Expand Down
5 changes: 2 additions & 3 deletions dev-packages/e2e-tests/cli.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ if (actions.includes('test')) {
.filter(f => f.endsWith('.yml') && !f.startsWith('utils'))
.sort((a, b) => {
// Run crash.yml last โ€” it kills the app via nativeCrash(), and
// post-crash simulator state can be flaky on Cirrus Labs Tart VMs.
// post-crash simulator state can be flaky.
if (a === 'crash.yml') return 1;
if (b === 'crash.yml') return -1;
return a.localeCompare(b);
Expand All @@ -304,8 +304,7 @@ if (actions.includes('test')) {
console.log(`Discovered ${flowFiles.length} Maestro flows: ${flowFiles.join(', ')}`);

// Warm up Maestro's driver connection before running test flows.
// The first Maestro launchApp after simulator boot can fail on Cirrus
// Labs Tart VMs because the IDB/XCUITest driver isn't fully connected.
// The first Maestro launchApp after simulator boot can fail if thedriver isn't fully connected.
// Running a lightweight warmup flow ensures the driver is ready.
const warmupFlow = path.join('maestro', 'utils', 'warmup.yml');
console.log('Warming up Maestro driver...');
Expand Down
4 changes: 2 additions & 2 deletions dev-packages/e2e-tests/maestro/utils/warmup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ appId: ${APP_ID}
jsEngine: graaljs
---
# Warm up Maestro's IDB/XCUITest driver connection on the simulator.
# The very first Maestro launchApp after simulator boot can fail on Cirrus
# Labs Tart VMs โ€” running a lightweight flow first ensures the driver is
# The very first Maestro launchApp after simulator boot can fail,
# running a lightweight flow first ensures the driver is
# fully connected before real test flows start.
- launchApp:
clearState: true
Expand Down
Loading