Skip to content

Commit e356df1

Browse files
committed
[CI] Support Xcode 26
1 parent 65091a3 commit e356df1

File tree

11 files changed

+61
-60
lines changed

11 files changed

+61
-60
lines changed

.github/workflows/cron-checks.yml

Lines changed: 25 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -41,32 +41,27 @@ jobs:
4141
strategy:
4242
matrix:
4343
include:
44-
- ios: 18.5
45-
xcode: 16.3
46-
os: macos-15
44+
# - ios: "26.0" TODO: IOS-1181
45+
# device: "iPhone 17 Pro"
46+
# setup_runtime: false
47+
- ios: "18.5"
4748
device: "iPhone 16 Pro"
4849
setup_runtime: false
49-
- ios: 17.5
50-
xcode: 15.4
51-
os: macos-14
50+
- ios: "17.5"
5251
device: "iPhone 15 Pro"
53-
setup_runtime: false
54-
- ios: 16.4
55-
xcode: 15.3
56-
os: macos-14
57-
device: "iPhone 14"
5852
setup_runtime: true
59-
- ios: 15.5
60-
xcode: 15.4
61-
os: macos-14
53+
- ios: "16.4"
54+
device: "iPhone 14 Pro"
55+
setup_runtime: true
56+
- ios: "15.5"
6257
device: "iPhone 13 Pro"
6358
setup_runtime: true
6459
fail-fast: false
65-
runs-on: ${{ matrix.os }}
60+
runs-on: macos-15
6661
env:
6762
GITHUB_EVENT: ${{ toJson(github.event) }}
6863
ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }}
69-
XCODE_VERSION: ${{ matrix.xcode }}
64+
XCODE_VERSION: "26.0.1"
7065
IOS_SIMULATOR_DEVICE: "${{ matrix.device }} (${{ matrix.ios }})" # For the Allure report
7166
steps:
7267
- uses: actions/[email protected]
@@ -124,30 +119,25 @@ jobs:
124119
strategy:
125120
matrix:
126121
include:
127-
- ios: 18.5
128-
xcode: 16.3
129-
os: macos-15
122+
- ios: "26.0"
123+
device: "iPhone 17 Pro"
124+
setup_runtime: false
125+
- ios: "18.5"
130126
device: "iPhone 16 Pro"
131127
setup_runtime: false
132-
- ios: 17.5
133-
xcode: 15.4
134-
os: macos-14
128+
- ios: "17.5"
135129
device: "iPhone 15 Pro"
136-
setup_runtime: false
137-
- ios: 16.4
138-
xcode: 15.3
139-
os: macos-14
130+
setup_runtime: true
131+
- ios: "16.4"
140132
device: "iPhone 14 Pro"
141133
setup_runtime: true
142-
- ios: 15.5
143-
xcode: 15.3
144-
os: macos-14
134+
- ios: "15.5"
145135
device: "iPhone 13 Pro"
146136
setup_runtime: true
147137
fail-fast: false
148-
runs-on: ${{ matrix.os }}
138+
runs-on: macos-15
149139
env:
150-
XCODE_VERSION: ${{ matrix.xcode }}
140+
XCODE_VERSION: "26.0.1"
151141
steps:
152142
- uses: actions/[email protected]
153143
- uses: ./.github/actions/bootstrap
@@ -196,17 +186,18 @@ jobs:
196186
run: bundle exec fastlane build_docs_test
197187

198188
build-old-xcode:
199-
name: Build SDKs (Xcode 15)
189+
name: Build SDKs (Old Xcode)
200190
runs-on: macos-14
201191
if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
202192
env:
203-
XCODE_VERSION: "15.4"
193+
XCODE_VERSION: "16.1"
204194
steps:
205195
- name: Connect Bot
206196
uses: webfactory/[email protected]
207197
with:
208198
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
209199
- uses: actions/[email protected]
200+
- uses: ./.github/actions/xcode-cache
210201
- uses: ./.github/actions/ruby-cache
211202
- name: List Xcode versions
212203
run: mdfind "kMDItemCFBundleIdentifier = 'com.apple.dt.Xcode'"
@@ -229,7 +220,7 @@ jobs:
229220
name: Automated Code Review
230221
runs-on: macos-14
231222
env:
232-
XCODE_VERSION: "15.4"
223+
XCODE_VERSION: "16.1"
233224
steps:
234225
- uses: actions/[email protected]
235226
- uses: ./.github/actions/bootstrap

.github/workflows/smoke-checks.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ concurrency:
2525

2626
env:
2727
HOMEBREW_NO_INSTALL_CLEANUP: 1 # Disable cleanup for homebrew, we don't need it on CI
28-
IOS_SIMULATOR_DEVICE: "iPhone 16 Pro (18.5)"
28+
IOS_SIMULATOR_DEVICE: "iPhone 17 Pro (26.0)"
2929
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3030
GITHUB_PR_NUM: ${{ github.event.pull_request.number }}
3131

@@ -83,6 +83,8 @@ jobs:
8383
if: ${{ github.event.inputs.record_snapshots_uikit != 'true' || github.event.inputs.record_snapshots_swiftui == 'true' }}
8484
env:
8585
GITHUB_TOKEN: ${{ secrets.CI_BOT_GITHUB_TOKEN }} # to open a PR
86+
IOS_SIMULATOR_DEVICE: "iPhone 16 Pro (18.5)" # TODO: IOS-1181
87+
XCODE_VERSION: "16.4" # TODO: IOS-1181
8688
steps:
8789
- uses: actions/[email protected]
8890
- uses: ./.github/actions/bootstrap
@@ -133,7 +135,7 @@ jobs:
133135
name: Automated Code Review
134136
runs-on: macos-14
135137
env:
136-
XCODE_VERSION: "15.4"
138+
XCODE_VERSION: "16.1"
137139
if: ${{ github.event.inputs.record_snapshots_swiftui != 'true' && github.event.inputs.record_snapshots_uikit != 'true' }}
138140
steps:
139141
- uses: actions/[email protected]
@@ -147,29 +149,30 @@ jobs:
147149
- run: bundle exec fastlane pod_lint
148150
if: startsWith(github.event.pull_request.head.ref, 'release/')
149151

150-
build-xcode15:
151-
name: Build SDKs (Xcode 15)
152+
build-old-xcode:
153+
name: Build SDKs (Old Xcode)
152154
runs-on: macos-14
153155
needs: test-llc-debug
154156
if: ${{ github.event.inputs.record_snapshots_swiftui != 'true' && github.event.inputs.record_snapshots_uikit != 'true' }}
155157
env:
156-
XCODE_VERSION: "15.4"
158+
XCODE_VERSION: "16.1"
157159
steps:
158160
- name: Connect Bot
159161
uses: webfactory/[email protected]
160162
with:
161163
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
162164
- uses: actions/[email protected]
165+
- uses: ./.github/actions/xcode-cache
163166
- uses: ./.github/actions/ruby-cache
164167
- name: List Xcode versions
165168
run: mdfind "kMDItemCFBundleIdentifier = 'com.apple.dt.Xcode'"
166169
- name: Build LLC
167-
run: bundle exec fastlane test device:"iPhone 15" build_for_testing:true
170+
run: bundle exec fastlane test device:"iPhone 16" build_for_testing:true
168171
timeout-minutes: 25
169172
- name: Build SwiftUI
170-
run: bundle exec fastlane test_swiftui device:"iPhone 15" build_for_testing:true
173+
run: bundle exec fastlane test_swiftui device:"iPhone 16" build_for_testing:true
171174
- name: Build UIKit
172-
run: bundle exec fastlane test_uikit device:"iPhone 15" build_for_testing:true
175+
run: bundle exec fastlane test_uikit device:"iPhone 16" build_for_testing:true
173176
timeout-minutes: 25
174177
- name: Build XCFrameworks
175178
run: bundle exec fastlane build_xcframeworks
@@ -248,6 +251,8 @@ jobs:
248251
env:
249252
LAUNCH_ID: ${{ needs.allure_testops_launch.outputs.launch_id }}
250253
ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }}
254+
IOS_SIMULATOR_DEVICE: "iPhone 16 Pro (18.5)" # TODO: IOS-1181
255+
XCODE_VERSION: "16.4" # TODO: IOS-1181
251256
strategy:
252257
matrix:
253258
batch: [0]

Githubfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ export XCRESULTS_VERSION='1.19.1'
55
export STREAM_VIDEO_BUDDY_VERSION='1.6.23'
66
export PLAYWRIGHT_VERSION='1.41.2'
77
export YEETD_VERSION='1.0'
8-
export MINT_VERSION='0.17.5'
98
export SONAR_VERSION='6.2.1.4610'
109
export IPSW_VERSION='3.1.592'
1110
export INTERFACE_ANALYZER_VERSION='1.0.7'

Package.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ let package = Package(
3131
dependencies: [
3232
.product(name: "SwiftProtobuf", package: "swift-protobuf"),
3333
.product(name: "StreamWebRTC", package: "stream-video-swift-webrtc")
34+
],
35+
swiftSettings: [
36+
.unsafeFlags(["-Osize"], .when(configuration: .release))
3437
]
3538
),
3639
.target(

StreamVideo-XCFramework.podspec

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,12 @@ Pod::Spec.new do |spec|
2828
unzip -o Frameworks/StreamWebRTC.zip -d Frameworks/
2929
rm Frameworks/StreamWebRTC.zip
3030
CMD
31+
32+
spec.pod_target_xcconfig = {
33+
'SWIFT_OPTIMIZATION_LEVEL' => '-Osize'
34+
}
35+
36+
spec.user_target_xcconfig = {
37+
'SWIFT_OPTIMIZATION_LEVEL' => '-Osize'
38+
}
3139
end

StreamVideo.podspec

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,12 @@ Pod::Spec.new do |spec|
2929
unzip -o Frameworks/StreamWebRTC.zip -d Frameworks/
3030
rm Frameworks/StreamWebRTC.zip
3131
CMD
32+
33+
spec.pod_target_xcconfig = {
34+
'SWIFT_OPTIMIZATION_LEVEL' => '-Osize'
35+
}
36+
37+
spec.user_target_xcconfig = {
38+
'SWIFT_OPTIMIZATION_LEVEL' => '-Osize'
39+
}
3240
end

StreamVideo.xcodeproj/project.pbxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10814,6 +10814,7 @@
1081410814
SKIP_INSTALL = YES;
1081510815
SWIFT_EMIT_LOC_STRINGS = YES;
1081610816
SWIFT_OBJC_BRIDGING_HEADER = "";
10817+
SWIFT_OPTIMIZATION_LEVEL = "-Osize";
1081710818
SWIFT_STRICT_CONCURRENCY = complete;
1081810819
SWIFT_VERSION = 5.0;
1081910820
TARGETED_DEVICE_FAMILY = "1,2";
-46 Bytes
Loading
-173 Bytes
Loading

fastlane/Fastfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ require 'net/http'
77
import 'Sonarfile'
88
import 'Allurefile'
99

10-
xcode_version = ENV['XCODE_VERSION'] || '16.3'
10+
xcode_version = ENV['XCODE_VERSION'] || '26.0.1'
1111
xcode_project = 'StreamVideo.xcodeproj'
1212
sdk_names = ['StreamVideo', 'StreamVideoSwiftUI', 'StreamVideoUIKit']
1313
podspec_names = ['StreamVideo', 'StreamVideo-XCFramework', 'StreamVideoSwiftUI', 'StreamVideoSwiftUI-XCFramework', 'StreamVideoUIKit', 'StreamVideoUIKit-XCFramework']
@@ -244,7 +244,7 @@ lane :test do |options|
244244
begin
245245
scan(scan_options)
246246
rescue StandardError => e
247-
UI.user_error!(e) unless options[:cron]
247+
UI.user_error!(e)
248248

249249
failed_tests = retreive_failed_tests
250250
UI.important("Re-running #{failed_tests.size} failed tests ⌛️")

0 commit comments

Comments
 (0)