diff --git a/.github/workflows/buildandtest.yml b/.github/workflows/buildandtest.yml index bebfd989c0..d698383f94 100644 --- a/.github/workflows/buildandtest.yml +++ b/.github/workflows/buildandtest.yml @@ -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: @@ -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: @@ -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: @@ -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: @@ -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: @@ -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: @@ -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: diff --git a/.github/workflows/codegen.yml b/.github/workflows/codegen.yml index 9eecb2ad99..827351b298 100644 --- a/.github/workflows/codegen.yml +++ b/.github/workflows/codegen.yml @@ -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: diff --git a/.github/workflows/e2e-v2.yml b/.github/workflows/e2e-v2.yml index db38b2d51c..605827b683 100644 --- a/.github/workflows/e2e-v2.yml +++ b/.github/workflows/e2e-v2.yml @@ -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: @@ -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' @@ -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 @@ -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 diff --git a/.github/workflows/native-tests.yml b/.github/workflows/native-tests.yml index 9bc9f69931..5109577452 100644 --- a/.github/workflows/native-tests.yml +++ b/.github/workflows/native-tests.yml @@ -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: @@ -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: diff --git a/.github/workflows/sample-application-expo.yml b/.github/workflows/sample-application-expo.yml index c8a2b3dc3e..80085a0a76 100644 --- a/.github/workflows/sample-application-expo.yml +++ b/.github/workflows/sample-application-expo.yml @@ -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: >- ${{ diff --git a/.github/workflows/sample-application.yml b/.github/workflows/sample-application.yml index 50512ada4f..b6f24d76b8 100644 --- a/.github/workflows/sample-application.yml +++ b/.github/workflows/sample-application.yml @@ -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' @@ -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: >- ${{ @@ -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: >- ${{ @@ -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: >- ${{ diff --git a/.github/workflows/size-analysis.yml b/.github/workflows/size-analysis.yml index 11af329915..bc69cc4e9b 100644 --- a/.github/workflows/size-analysis.yml +++ b/.github/workflows/size-analysis.yml @@ -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: diff --git a/.github/workflows/testflight.yml b/.github/workflows/testflight.yml index b348f3d645..04312d1543 100644 --- a/.github/workflows/testflight.yml +++ b/.github/workflows/testflight.yml @@ -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: diff --git a/dev-packages/e2e-tests/cli.mjs b/dev-packages/e2e-tests/cli.mjs index fa111b001f..9a09e8d5c3 100755 --- a/dev-packages/e2e-tests/cli.mjs +++ b/dev-packages/e2e-tests/cli.mjs @@ -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); @@ -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...'); diff --git a/dev-packages/e2e-tests/maestro/utils/warmup.yml b/dev-packages/e2e-tests/maestro/utils/warmup.yml index c41b35e39b..487d6ed020 100644 --- a/dev-packages/e2e-tests/maestro/utils/warmup.yml +++ b/dev-packages/e2e-tests/maestro/utils/warmup.yml @@ -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