Skip to content

Commit d17c351

Browse files
[CI] Support Xcode 26 (#955)
1 parent d053ecd commit d17c351

File tree

301 files changed

+61
-85
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

301 files changed

+61
-85
lines changed

.github/workflows/cron-checks.yml

Lines changed: 29 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -41,33 +41,28 @@ jobs:
4141
strategy:
4242
matrix:
4343
include:
44-
- ios: 18.5
45-
xcode: 16.3
46-
os: macos-15
44+
- ios: "26.1"
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 }}
70-
IOS_SIMULATOR_DEVICE: "${{ matrix.device }} (${{ matrix.ios }})" # For the Allure report
64+
XCODE_VERSION: "26.1.1"
65+
IOS_SIMULATOR_DEVICE: "${{ matrix.device }} (${{ matrix.ios }})"
7166
steps:
7267
- uses: actions/[email protected]
7368
- uses: actions/download-artifact@v4
@@ -90,7 +85,7 @@ jobs:
9085
- name: Launch Allure TestOps
9186
run: bundle exec fastlane allure_launch cron:true
9287
- name: Run UI Tests (Debug)
93-
run: bundle exec fastlane test_e2e device:"${{ matrix.device }} (${{ matrix.ios }})" cron:true test_without_building:true
88+
run: bundle exec fastlane test_e2e device:"${{ env.IOS_SIMULATOR_DEVICE }}" cron:true test_without_building:true
9489
timeout-minutes: 90
9590
env:
9691
STREAM_SDK_TEST_APP: ${{ secrets.STREAM_SDK_TEST_APP }}
@@ -124,30 +119,26 @@ jobs:
124119
strategy:
125120
matrix:
126121
include:
127-
- ios: 18.5
128-
xcode: 16.3
129-
os: macos-15
122+
- ios: "26.1"
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.1.1"
141+
IOS_SIMULATOR_DEVICE: "${{ matrix.device }} (${{ matrix.ios }})"
151142
steps:
152143
- uses: actions/[email protected]
153144
- uses: ./.github/actions/bootstrap
@@ -161,7 +152,7 @@ jobs:
161152
version: ${{ matrix.ios }}
162153
device: ${{ matrix.device }}
163154
- name: Run LLC Tests (Debug)
164-
run: bundle exec fastlane test device:"${{ matrix.device }} (${{ matrix.ios }})" cron:true
155+
run: bundle exec fastlane test device:"${{ env.IOS_SIMULATOR_DEVICE }}" cron:true
165156
timeout-minutes: 60
166157
- name: Parse xcresult
167158
if: failure()
@@ -196,17 +187,18 @@ jobs:
196187
run: bundle exec fastlane build_docs_test
197188

198189
build-old-xcode:
199-
name: Build SDKs (Xcode 15)
190+
name: Build SDKs (Old Xcode)
200191
runs-on: macos-14
201192
if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
202193
env:
203-
XCODE_VERSION: "15.4"
194+
XCODE_VERSION: "16.1"
204195
steps:
205196
- name: Connect Bot
206197
uses: webfactory/[email protected]
207198
with:
208199
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
209200
- uses: actions/[email protected]
201+
- uses: ./.github/actions/xcode-cache
210202
- uses: ./.github/actions/ruby-cache
211203
- name: List Xcode versions
212204
run: mdfind "kMDItemCFBundleIdentifier = 'com.apple.dt.Xcode'"
@@ -229,7 +221,7 @@ jobs:
229221
name: Automated Code Review
230222
runs-on: macos-14
231223
env:
232-
XCODE_VERSION: "15.4"
224+
XCODE_VERSION: "16.1"
233225
steps:
234226
- uses: actions/[email protected]
235227
- uses: ./.github/actions/bootstrap

.github/workflows/smoke-checks.yml

Lines changed: 9 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.1)"
2929
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3030
GITHUB_PR_NUM: ${{ github.event.pull_request.number }}
3131

@@ -133,7 +133,7 @@ jobs:
133133
name: Automated Code Review
134134
runs-on: macos-14
135135
env:
136-
XCODE_VERSION: "15.4"
136+
XCODE_VERSION: "16.1"
137137
if: ${{ github.event.inputs.record_snapshots_swiftui != 'true' && github.event.inputs.record_snapshots_uikit != 'true' }}
138138
steps:
139139
- uses: actions/[email protected]
@@ -147,29 +147,30 @@ jobs:
147147
- run: bundle exec fastlane pod_lint
148148
if: startsWith(github.event.pull_request.head.ref, 'release/')
149149

150-
build-xcode15:
151-
name: Build SDKs (Xcode 15)
150+
build-old-xcode:
151+
name: Build SDKs (Old Xcode)
152152
runs-on: macos-14
153153
needs: test-llc-debug
154154
if: ${{ github.event.inputs.record_snapshots_swiftui != 'true' && github.event.inputs.record_snapshots_uikit != 'true' }}
155155
env:
156-
XCODE_VERSION: "15.4"
156+
XCODE_VERSION: "16.1"
157157
steps:
158158
- name: Connect Bot
159159
uses: webfactory/[email protected]
160160
with:
161161
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
162162
- uses: actions/[email protected]
163+
- uses: ./.github/actions/xcode-cache
163164
- uses: ./.github/actions/ruby-cache
164165
- name: List Xcode versions
165166
run: mdfind "kMDItemCFBundleIdentifier = 'com.apple.dt.Xcode'"
166167
- name: Build LLC
167-
run: bundle exec fastlane test device:"iPhone 15" build_for_testing:true
168+
run: bundle exec fastlane test device:"iPhone 16" build_for_testing:true
168169
timeout-minutes: 25
169170
- name: Build SwiftUI
170-
run: bundle exec fastlane test_swiftui device:"iPhone 15" build_for_testing:true
171+
run: bundle exec fastlane test_swiftui device:"iPhone 16" build_for_testing:true
171172
- name: Build UIKit
172-
run: bundle exec fastlane test_uikit device:"iPhone 15" build_for_testing:true
173+
run: bundle exec fastlane test_uikit device:"iPhone 16" build_for_testing:true
173174
timeout-minutes: 25
174175
- name: Build XCFrameworks
175176
run: bundle exec fastlane build_xcframeworks

.swiftformat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Stream rules
22
--header "\nCopyright © {year} Stream.io Inc. All rights reserved.\n"
3-
--swiftversion 5.9
3+
--swiftversion 5.10
44

55
# Use allow-list
66
--rules blankLinesAroundMark

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: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version:5.9
1+
// swift-tools-version:5.10
22

33
import Foundation
44
import PackageDescription

Scripts/bootstrap.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ if [ "${SKIP_SWIFT_BOOTSTRAP:-}" != true ]; then
3030
puts "Install SwiftLint v${SWIFT_LINT_VERSION}"
3131
DOWNLOAD_URL="https://github.com/realm/SwiftLint/releases/download/${SWIFT_LINT_VERSION}/SwiftLint.pkg"
3232
DOWNLOAD_PATH="/tmp/SwiftLint-${SWIFT_LINT_VERSION}.pkg"
33-
curl -sL "$DOWNLOAD_URL" -o "$DOWNLOAD_PATH"
33+
wget "$DOWNLOAD_URL" -O "$DOWNLOAD_PATH"
3434
sudo installer -pkg "$DOWNLOAD_PATH" -target /
3535
swiftlint version
3636

@@ -39,7 +39,7 @@ if [ "${SKIP_SWIFT_BOOTSTRAP:-}" != true ]; then
3939
DOWNLOAD_PATH="/tmp/swiftformat-${SWIFT_FORMAT_VERSION}.zip"
4040
BIN_PATH="/usr/local/bin/swiftformat"
4141
brew uninstall swiftformat || true
42-
curl -sL "$DOWNLOAD_URL" -o "$DOWNLOAD_PATH"
42+
wget "$DOWNLOAD_URL" -O "$DOWNLOAD_PATH"
4343
unzip -o "$DOWNLOAD_PATH" -d /tmp/swiftformat-${SWIFT_FORMAT_VERSION}
4444
sudo mv /tmp/swiftformat-${SWIFT_FORMAT_VERSION}/swiftformat "$BIN_PATH"
4545
sudo chmod +x "$BIN_PATH"
@@ -50,7 +50,7 @@ if [ "${SKIP_SWIFT_BOOTSTRAP:-}" != true ]; then
5050
DOWNLOAD_PATH="/tmp/swiftgen-${SWIFT_GEN_VERSION}.zip"
5151
INSTALL_DIR="/usr/local/lib/swiftgen"
5252
BIN_PATH="/usr/local/bin/swiftgen"
53-
curl -sL "$DOWNLOAD_URL" -o "$DOWNLOAD_PATH"
53+
wget "$DOWNLOAD_URL" -O "$DOWNLOAD_PATH"
5454
sudo rm -rf "$INSTALL_DIR"
5555
sudo mkdir -p "$INSTALL_DIR"
5656
sudo unzip -o "$DOWNLOAD_PATH" -d "$INSTALL_DIR"
@@ -62,7 +62,7 @@ fi
6262
if [[ ${INSTALL_SONAR-default} == true ]]; then
6363
puts "Install sonar scanner v${SONAR_VERSION}"
6464
DOWNLOAD_URL="https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_VERSION}-macosx-x64.zip"
65-
curl -sL "${DOWNLOAD_URL}" -o ./fastlane/sonar.zip
65+
wget "${DOWNLOAD_URL}" -O ./fastlane/sonar.zip
6666
cd fastlane
6767
unzip sonar.zip
6868
rm sonar.zip
@@ -74,12 +74,12 @@ fi
7474
if [[ ${INSTALL_ALLURE-default} == true ]]; then
7575
puts "Install allurectl v${ALLURECTL_VERSION}"
7676
DOWNLOAD_URL="https://github.com/allure-framework/allurectl/releases/download/${ALLURECTL_VERSION}/allurectl_darwin_amd64"
77-
curl -sL "${DOWNLOAD_URL}" -o ./fastlane/allurectl
77+
wget "${DOWNLOAD_URL}" -O ./fastlane/allurectl
7878
chmod +x ./fastlane/allurectl
7979

8080
puts "Install xcresults v${XCRESULTS_VERSION}"
8181
DOWNLOAD_URL="https://github.com/eroshenkoam/xcresults/releases/download/${XCRESULTS_VERSION}/xcresults"
82-
curl -sL "${DOWNLOAD_URL}" -o ./fastlane/xcresults
82+
wget "${DOWNLOAD_URL}" -O ./fastlane/xcresults
8383
chmod +x ./fastlane/xcresults
8484
fi
8585

StreamVideo-XCFramework.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Pod::Spec.new do |spec|
99
spec.author = { 'getstream.io' => '[email protected]' }
1010
spec.social_media_url = 'https://getstream.io'
1111

12-
spec.swift_version = '5.9'
12+
spec.swift_version = '5.10'
1313
spec.platform = :ios, '13.0'
1414
spec.requires_arc = true
1515

StreamVideo.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Pod::Spec.new do |spec|
99
spec.author = { 'getstream.io' => '[email protected]' }
1010
spec.social_media_url = 'https://getstream.io'
1111

12-
spec.swift_version = '5.9'
12+
spec.swift_version = '5.10'
1313
spec.platform = :ios, '13.0'
1414
spec.requires_arc = true
1515

StreamVideoSwiftUI-XCFramework.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Pod::Spec.new do |spec|
99
spec.author = { 'getstream.io' => '[email protected]' }
1010
spec.social_media_url = 'https://getstream.io'
1111

12-
spec.swift_version = '5.9'
12+
spec.swift_version = '5.10'
1313
spec.platform = :ios, '13.0'
1414
spec.requires_arc = true
1515

@@ -20,5 +20,5 @@ Pod::Spec.new do |spec|
2020
spec.vendored_frameworks = "#{spec.module_name}.xcframework"
2121
spec.preserve_paths = "#{spec.module_name}.xcframework/*"
2222

23-
spec.dependency('StreamVideo-XCFramework', "#{spec.version}")
23+
spec.dependency('StreamVideo-XCFramework', spec.version.to_s)
2424
end

StreamVideoSwiftUI.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Pod::Spec.new do |spec|
99
spec.author = { 'getstream.io' => '[email protected]' }
1010
spec.social_media_url = 'https://getstream.io'
1111

12-
spec.swift_version = '5.9'
12+
spec.swift_version = '5.10'
1313
spec.platform = :ios, '13.0'
1414
spec.requires_arc = true
1515

@@ -20,5 +20,5 @@ Pod::Spec.new do |spec|
2020
spec.exclude_files = ["Sources/#{spec.name}/**/*_Tests.swift", "Sources/#{spec.name}/**/*_Mock.swift"]
2121
spec.resource_bundles = { spec.name => ["Sources/#{spec.name}/Resources/**/*"] }
2222

23-
spec.dependency('StreamVideo', "#{spec.version}")
23+
spec.dependency('StreamVideo', spec.version.to_s)
2424
end

0 commit comments

Comments
 (0)