Skip to content

Commit 17a26bf

Browse files
authored
chore(ci): Change release workflow to macOS-15 runner and Xcode 16.2 (#6606)
1 parent b8ad3de commit 17a26bf

File tree

3 files changed

+27
-24
lines changed

3 files changed

+27
-24
lines changed

.github/workflows/build-xcframework-variant-slices.yml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ jobs:
5656
build-xcframework-variant-slices:
5757
name: ${{matrix.sdk}}
5858

59-
# We must compile this on an arm64 runner, cause it's required for visionOS. macos-14 uses arm64.
59+
# We must compile this on an arm64 runner, cause it's required for visionOS. macos-15 uses arm64.
6060
# 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.
61-
runs-on: macos-14
61+
runs-on: macos-15
6262

6363
strategy:
6464
matrix:
@@ -67,12 +67,8 @@ jobs:
6767
steps:
6868
- uses: actions/checkout@v5
6969

70-
# We have to compile on Xcode 15.2 because compiling on Xcode 15.4 fails with
71-
# Data+SentryTracing.swift:21:62: error: 'ReadingOptions' aliases 'Foundation.ReadingOptions'
72-
# and cannot be used here because C++ types from imported module 'Foundation' do not support
73-
# library evolution; this is an error in the Swift 6 language mode
74-
# We also can't use Xcode 16.x because validating the XCFramework then fails with Xcode 15.x.
75-
- run: ./scripts/ci-select-xcode.sh 15.2
70+
# We use Xcode 16.4 for building XCFrameworks as it's the standard version available on macos-15 runners.
71+
- run: ./scripts/ci-select-xcode.sh 16.4
7672
shell: bash
7773

7874
- name: Get version
@@ -109,7 +105,7 @@ jobs:
109105
env:
110106
VERSION: ${{ env.VERSION }}
111107
run: |
112-
./scripts/ci-select-xcode.sh 15.2
108+
./scripts/ci-select-xcode.sh 16.4
113109
make bump-version TO=$VERSION
114110
115111
- name: Build ${{inputs.name}}${{inputs.suffix}} XCFramework slice for ${{matrix.sdk}}

.github/workflows/release.yml

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ jobs:
106106

107107
validate-xcframework:
108108
name: Validate XCFramework
109-
runs-on: macos-14
109+
runs-on: macos-15
110110
needs: [files-changed, assemble-xcframework-variant]
111111
# Run the job only for PRs with related changes or non-PR events.
112112
if: github.event_name != 'pull_request' || needs.files-changed.outputs.run_release_for_prs == 'true'
@@ -120,7 +120,7 @@ jobs:
120120
with:
121121
pattern: xcframework-${{github.sha}}-sentry-swiftui
122122
path: Carthage/
123-
- run: ./scripts/ci-select-xcode.sh 15.4
123+
- run: ./scripts/ci-select-xcode.sh 16.4
124124
- run: make build-xcframework-sample
125125
- name: Run CI Diagnostics
126126
if: failure()
@@ -131,7 +131,7 @@ jobs:
131131
# See https://github.community/t/github-sha-isnt-the-value-expected/17903/17906.
132132
validate-spm:
133133
name: Validate SPM Static
134-
runs-on: macos-14
134+
runs-on: macos-15
135135
needs: [files-changed, assemble-xcframework-variant]
136136
# Run the job only for PRs with related changes or non-PR events.
137137
if: github.event_name != 'pull_request' || needs.files-changed.outputs.run_release_for_prs == 'true'
@@ -145,6 +145,7 @@ jobs:
145145
uses: ./.github/actions/prepare-package.swift
146146
with:
147147
is-pr: ${{ github.event_name == 'pull_request' }}
148+
- run: ./scripts/ci-select-xcode.sh 16.4
148149
- run: swift build
149150
working-directory: Samples/macOS-SPM-CommandLine
150151
- name: Run CI Diagnostics
@@ -153,7 +154,7 @@ jobs:
153154

154155
validate-spm-dynamic:
155156
name: Validate SPM Dynamic
156-
runs-on: macos-14
157+
runs-on: macos-15
157158
needs: [files-changed, assemble-xcframework-variant]
158159
# Run the job only for PRs with related changes or non-PR events.
159160
if: github.event_name != 'pull_request' || needs.files-changed.outputs.run_release_for_prs == 'true'
@@ -167,6 +168,7 @@ jobs:
167168
uses: ./.github/actions/prepare-package.swift
168169
with:
169170
is-pr: ${{ github.event_name == 'pull_request' }}
171+
- run: ./scripts/ci-select-xcode.sh 16.4
170172
- run: swift build
171173
working-directory: Samples/SPM-Dynamic
172174
- name: Run CI Diagnostics
@@ -175,7 +177,7 @@ jobs:
175177

176178
swift-build:
177179
name: Build Swift Static
178-
runs-on: macos-14
180+
runs-on: macos-15
179181
needs: [files-changed, assemble-xcframework-variant]
180182
# Run the job only for PRs with related changes or non-PR events.
181183
if: github.event_name != 'pull_request' || needs.files-changed.outputs.run_release_for_prs == 'true'
@@ -189,14 +191,15 @@ jobs:
189191
uses: ./.github/actions/prepare-package.swift
190192
with:
191193
is-pr: ${{ github.event_name == 'pull_request' }}
194+
- run: ./scripts/ci-select-xcode.sh 16.4
192195
- run: swift build
193196
- name: Run CI Diagnostics
194197
if: failure()
195198
run: ./scripts/ci-diagnostics.sh
196199

197200
validate-spm-visionos:
198201
name: Validate SPM Static visionOS
199-
runs-on: macos-14
202+
runs-on: macos-15
200203
needs: [files-changed, assemble-xcframework-variant]
201204
# Run the job only for PRs with related changes or non-PR events.
202205
if: github.event_name != 'pull_request' || needs.files-changed.outputs.run_release_for_prs == 'true'
@@ -210,6 +213,7 @@ jobs:
210213
uses: ./.github/actions/prepare-package.swift
211214
with:
212215
is-pr: ${{ github.event_name == 'pull_request' }}
216+
- run: ./scripts/ci-select-xcode.sh 16.4
213217
- run: set -o pipefail &&xcodebuild build -scheme visionOS-SPM -sdk xros -destination 'generic/platform=xros' | tee raw-build-output-spm-visionOS.log | xcbeautify
214218
working-directory: Samples/visionOS-SPM
215219
- name: Run CI Diagnostics
@@ -288,15 +292,16 @@ jobs:
288292
job_release:
289293
runs-on: ubuntu-latest
290294
name: "Release New Version"
291-
needs: [
292-
files-changed,
293-
validate-xcframework,
294-
validate-spm,
295-
validate-spm-dynamic,
296-
swift-build,
297-
duplication-tests,
298-
app-metrics,
299-
]
295+
needs:
296+
[
297+
files-changed,
298+
validate-xcframework,
299+
validate-spm,
300+
validate-spm-dynamic,
301+
swift-build,
302+
duplication-tests,
303+
app-metrics,
304+
]
300305
if: ${{ github.event_name == 'workflow_dispatch' }}
301306
steps:
302307
- name: Get auth token

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
- Change `value` and `type` of `SentryException` to be nullable (#6563)
3131
- Change the default trace context status to "ok" instead of "undefined" (#6611)
3232
- Remove `getHash` from SentryDsn (#6605)
33+
- 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).
34+
If you need a precompiled XCFramework built with Xcode 15, continue using Sentry SDK 8.x.x.
3335

3436
### Features
3537

0 commit comments

Comments
 (0)