diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6a9698763..6151395e8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -371,18 +371,18 @@ jobs: fail-fast: false matrix: unity-version: ${{ fromJSON(needs.create-unity-matrix.outputs.unity-matrix).unity-version }} - # On PRs only the newest simulator runs; `17.0` is an OS-compat axis (not SDK behavior) and runs on main. - ios-version: ${{ github.event_name == 'pull_request' && fromJSON('["latest"]') || fromJSON('["17.0", "latest"]') }} + # On PRs only the newest simulator runs; `18.5` is an OS-compat axis (not SDK behavior) and runs on main. + ios-version: ${{ github.event_name == 'pull_request' && fromJSON('["latest"]') || fromJSON('["18.5", "latest"]') }} init-type: ["runtime", "buildtime"] # Check https://support.apple.com/en-us/HT201222 for the latest minor version for a given major one. - # https://developer.apple.com/support/app-store/ shows that of all iOS devices - # - `iOS 18`: 88 % - # - `iOS 17`: 17 % - # - the rest: 4 % - # as of August, 2025. Therefore, let's stick to testing iOS 17 and `latest` for now. + # https://developer.apple.com/support/app-store/ shows that of all iPhones + # - `iOS 26`: 79 % + # - `iOS 18`: 14 % + # - the rest: 7 % + # as of June, 2026. Therefore, let's stick to testing iOS 18 and `latest` for now. # Numbers as string otherwise GH will reformat the runtime numbers removing the fractions. # Also make sure to match the versions available here: - # - https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md + # - https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md test-run-webgl: name: Run WebGL ${{ matrix.unity-version }} Integration Test diff --git a/.github/workflows/test-compile-ios.yml b/.github/workflows/test-compile-ios.yml index 74f58a129..3f81258d4 100644 --- a/.github/workflows/test-compile-ios.yml +++ b/.github/workflows/test-compile-ios.yml @@ -16,7 +16,7 @@ defaults: jobs: compile: name: ${{ inputs.unity-version }} ${{ inputs.init-type }} - runs-on: 'macos-14' # Pinning to get the oldest, supported version of iOS simulator + runs-on: 'macos-15' # Pinning to get the oldest, supported version of iOS simulator env: UNITY_VERSION: ${{ inputs.unity-version }} INIT_TYPE: ${{ inputs.init-type }} @@ -47,7 +47,7 @@ jobs: - name: Compile Xcode project without Sentry if: ${{ inputs.init-type == 'runtime' && steps.cache-compiled-nosentry.outputs.cache-hit != 'true' }} - run: ./scripts/compile-xcode-project.ps1 -iOSMinVersion "17.0" + run: ./scripts/compile-xcode-project.ps1 -iOSMinVersion "18.5" timeout-minutes: 20 - name: Save compiled app without Sentry @@ -73,7 +73,7 @@ jobs: run: tar -xvzf "test-app-$env:INIT_TYPE.tar.gz" - name: iOS test - run: ./scripts/compile-xcode-project.ps1 -iOSMinVersion "17.0" + run: ./scripts/compile-xcode-project.ps1 -iOSMinVersion "18.5" timeout-minutes: 20 - name: Assert symbols and sources were uploaded diff --git a/.github/workflows/test-run-ios.yml b/.github/workflows/test-run-ios.yml index 7d1e0bd89..035dcdc33 100644 --- a/.github/workflows/test-run-ios.yml +++ b/.github/workflows/test-run-ios.yml @@ -29,7 +29,7 @@ defaults: jobs: run: name: ${{ inputs.unity-version }} ${{ inputs.ios-version }} ${{ inputs.init-type }} - runs-on: macos-14 # Pinning to get the oldest, supported version of iOS simulator + runs-on: macos-15 # Pinning to get the oldest, supported version of iOS simulator # Map the job outputs to step outputs outputs: status: ${{ steps.integration-test.outputs.status }} @@ -63,7 +63,7 @@ jobs: if: ${{ env.IOS_VERSION != 'latest'}} uses: maxim-lobanov/setup-xcode@ed7a3b1fda3918c0306d1b724322adc0b8cc0a90 # v1.7.0 with: - xcode-version: '15.0' # to run iOS 17.0 we need Xcode 15.0 + xcode-version: '16.4' # to run iOS 18.5 we need Xcode 16.4 - name: Run iOS Integration Tests id: integration-test diff --git a/test/IntegrationTest/Integration.Tests.ps1 b/test/IntegrationTest/Integration.Tests.ps1 index 33e6315b0..6e9f39c20 100644 --- a/test/IntegrationTest/Integration.Tests.ps1 +++ b/test/IntegrationTest/Integration.Tests.ps1 @@ -12,7 +12,7 @@ # SENTRY_TEST_SCRIPTING_BACKEND: set to "mono" for a Mono player; empty means IL2CPP # # Platform-specific environment variables: -# iOS: SENTRY_IOS_VERSION - iOS simulator version (e.g. "17.0" or "latest") +# iOS: SENTRY_IOS_VERSION - iOS simulator version (e.g. "18.5" or "latest") # Xbox: XBCONNECT_TARGET - Xbox devkit IP address Set-StrictMode -Version latest @@ -322,7 +322,7 @@ BeforeAll { $script:ExecutablePath = "com.DefaultCompany.IntegrationTest" $target = $env:SENTRY_IOS_VERSION - # Convert bare version numbers (e.g. "17.0") to "iOS 17.0" format expected by iOSSimulatorProvider + # Convert bare version numbers (e.g. "18.5") to "iOS 18.5" format expected by iOSSimulatorProvider if ($target -match '^\d+\.\d+$') { $target = "iOS $target" }