diff --git a/.github/workflows/build-xcframework-variant-slices.yml b/.github/workflows/build-xcframework-variant-slices.yml index 13b9d5c114..213e2152ce 100644 --- a/.github/workflows/build-xcframework-variant-slices.yml +++ b/.github/workflows/build-xcframework-variant-slices.yml @@ -56,9 +56,9 @@ jobs: build-xcframework-variant-slices: name: ${{matrix.sdk}} - # We must compile this on an arm64 runner, cause it's required for visionOS. macos-14 uses arm64. + # We must compile this on an arm64 runner, cause it's required for visionOS. macos-15 uses arm64. # To see the available runners see https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories. - runs-on: macos-14 + runs-on: macos-15 strategy: matrix: @@ -67,12 +67,8 @@ jobs: steps: - uses: actions/checkout@v5 - # We have to compile on Xcode 15.2 because compiling on Xcode 15.4 fails with - # Data+SentryTracing.swift:21:62: error: 'ReadingOptions' aliases 'Foundation.ReadingOptions' - # and cannot be used here because C++ types from imported module 'Foundation' do not support - # library evolution; this is an error in the Swift 6 language mode - # We also can't use Xcode 16.x because validating the XCFramework then fails with Xcode 15.x. - - run: ./scripts/ci-select-xcode.sh 15.2 + # We use Xcode 16.4 for building XCFrameworks as it's the standard version available on macos-15 runners. + - run: ./scripts/ci-select-xcode.sh 16.4 shell: bash - name: Get version @@ -109,7 +105,7 @@ jobs: env: VERSION: ${{ env.VERSION }} run: | - ./scripts/ci-select-xcode.sh 15.2 + ./scripts/ci-select-xcode.sh 16.4 make bump-version TO=$VERSION - name: Build ${{inputs.name}}${{inputs.suffix}} XCFramework slice for ${{matrix.sdk}} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7d93881f76..88e23f4a48 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -106,7 +106,7 @@ jobs: validate-xcframework: name: Validate XCFramework - runs-on: macos-14 + runs-on: macos-15 needs: [files-changed, assemble-xcframework-variant] # Run the job only for PRs with related changes or non-PR events. if: github.event_name != 'pull_request' || needs.files-changed.outputs.run_release_for_prs == 'true' @@ -120,7 +120,7 @@ jobs: with: pattern: xcframework-${{github.sha}}-sentry-swiftui path: Carthage/ - - run: ./scripts/ci-select-xcode.sh 15.4 + - run: ./scripts/ci-select-xcode.sh 16.4 - run: make build-xcframework-sample - name: Run CI Diagnostics if: failure() @@ -131,7 +131,7 @@ jobs: # See https://github.community/t/github-sha-isnt-the-value-expected/17903/17906. validate-spm: name: Validate SPM Static - runs-on: macos-14 + runs-on: macos-15 needs: [files-changed, assemble-xcframework-variant] # Run the job only for PRs with related changes or non-PR events. if: github.event_name != 'pull_request' || needs.files-changed.outputs.run_release_for_prs == 'true' @@ -145,6 +145,7 @@ jobs: uses: ./.github/actions/prepare-package.swift with: is-pr: ${{ github.event_name == 'pull_request' }} + - run: ./scripts/ci-select-xcode.sh 16.4 - run: swift build working-directory: Samples/macOS-SPM-CommandLine - name: Run CI Diagnostics @@ -153,7 +154,7 @@ jobs: validate-spm-dynamic: name: Validate SPM Dynamic - runs-on: macos-14 + runs-on: macos-15 needs: [files-changed, assemble-xcframework-variant] # Run the job only for PRs with related changes or non-PR events. if: github.event_name != 'pull_request' || needs.files-changed.outputs.run_release_for_prs == 'true' @@ -167,6 +168,7 @@ jobs: uses: ./.github/actions/prepare-package.swift with: is-pr: ${{ github.event_name == 'pull_request' }} + - run: ./scripts/ci-select-xcode.sh 16.4 - run: swift build working-directory: Samples/SPM-Dynamic - name: Run CI Diagnostics @@ -175,7 +177,7 @@ jobs: swift-build: name: Build Swift Static - runs-on: macos-14 + runs-on: macos-15 needs: [files-changed, assemble-xcframework-variant] # Run the job only for PRs with related changes or non-PR events. if: github.event_name != 'pull_request' || needs.files-changed.outputs.run_release_for_prs == 'true' @@ -189,6 +191,7 @@ jobs: uses: ./.github/actions/prepare-package.swift with: is-pr: ${{ github.event_name == 'pull_request' }} + - run: ./scripts/ci-select-xcode.sh 16.4 - run: swift build - name: Run CI Diagnostics if: failure() @@ -196,7 +199,7 @@ jobs: validate-spm-visionos: name: Validate SPM Static visionOS - runs-on: macos-14 + runs-on: macos-15 needs: [files-changed, assemble-xcframework-variant] # Run the job only for PRs with related changes or non-PR events. if: github.event_name != 'pull_request' || needs.files-changed.outputs.run_release_for_prs == 'true' @@ -210,6 +213,7 @@ jobs: uses: ./.github/actions/prepare-package.swift with: is-pr: ${{ github.event_name == 'pull_request' }} + - run: ./scripts/ci-select-xcode.sh 16.4 - run: set -o pipefail &&xcodebuild build -scheme visionOS-SPM -sdk xros -destination 'generic/platform=xros' | tee raw-build-output-spm-visionOS.log | xcbeautify working-directory: Samples/visionOS-SPM - name: Run CI Diagnostics @@ -288,15 +292,16 @@ jobs: job_release: runs-on: ubuntu-latest name: "Release New Version" - needs: [ - files-changed, - validate-xcframework, - validate-spm, - validate-spm-dynamic, - swift-build, - duplication-tests, - app-metrics, - ] + needs: + [ + files-changed, + validate-xcframework, + validate-spm, + validate-spm-dynamic, + swift-build, + duplication-tests, + app-metrics, + ] if: ${{ github.event_name == 'workflow_dispatch' }} steps: - name: Get auth token diff --git a/CHANGELOG.md b/CHANGELOG.md index 918e88a12f..edf1dd0536 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,8 @@ - Change `value` and `type` of `SentryException` to be nullable (#6563) - Change the default trace context status to "ok" instead of "undefined" (#6611) - Remove `getHash` from SentryDsn (#6605) +- The precompiled XCFramework is now built with Xcode 16. To submit to the App Store, [Apple now requires Xcode 16](https://developer.apple.com/news/upcoming-requirements/?id=02212025a). + If you need a precompiled XCFramework built with Xcode 15, continue using Sentry SDK 8.x.x. ### Features