Skip to content

Commit aadde08

Browse files
[CI] Support Xcode 26 (#988)
1 parent 2e3ae3d commit aadde08

File tree

4 files changed

+36
-46
lines changed

4 files changed

+36
-46
lines changed

.github/workflows/cron-checks.yml

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,24 @@ jobs:
2121
strategy:
2222
matrix:
2323
include:
24-
- ios: 18.5
25-
xcode: 16.4
26-
os: macos-15
24+
# - ios: "26.0" TODO: IOS-1181
25+
# device: "iPhone 17 Pro"
26+
# xcode: "26.0"
27+
# setup_runtime: false
28+
- ios: "18.5"
2729
device: "iPhone 16 Pro"
30+
xcode: "26.0"
2831
setup_runtime: false
29-
- ios: 17.5
30-
xcode: 15.4
31-
os: macos-14
32+
- ios: "17.5"
3233
device: "iPhone 15 Pro"
33-
setup_runtime: false
34-
- ios: 16.4
35-
xcode: 15.3 # fails on 15.4
36-
os: macos-14
34+
xcode: "26.0"
35+
setup_runtime: true
36+
- ios: "16.4"
3737
device: "iPhone 14 Pro"
38+
xcode: "16.4"
3839
setup_runtime: true
3940
fail-fast: false
40-
runs-on: ${{ matrix.os }}
41+
runs-on: macos-15
4142
env:
4243
GITHUB_EVENT: ${{ toJson(github.event) }}
4344
ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }}
@@ -91,9 +92,11 @@ jobs:
9192
strategy:
9293
matrix:
9394
include:
94-
- xcode: 16.4
95+
- xcode: 26.0 # swift 6.2
96+
os: macos-15
97+
- xcode: 16.4 # swift 6.1
9598
os: macos-15
96-
- xcode: 16.1
99+
- xcode: 16.1 # swift 6.0
97100
os: macos-14
98101
fail-fast: false
99102
runs-on: ${{ matrix.os }}
@@ -107,20 +110,20 @@ jobs:
107110
XCODE_VERSION: ${{ matrix.xcode }}
108111

109112
build-old-xcode:
110-
name: Build SDKs (Xcode 15)
113+
name: Build SDKs (Old Xcode)
111114
runs-on: macos-14
112115
env:
113-
XCODE_VERSION: "15.4"
116+
XCODE_VERSION: "16.1"
114117
steps:
115118
- name: Connect Bot
116119
uses: webfactory/[email protected]
117120
with:
118121
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
119122
- uses: actions/[email protected]
123+
- uses: ./.github/actions/xcode-cache
120124
- uses: ./.github/actions/ruby-cache
121-
timeout-minutes: 25
122125
- name: Build SwiftUI
123-
run: bundle exec fastlane test_ui device:"iPhone 15" build_for_testing:true
126+
run: bundle exec fastlane test_ui device:"iPhone 16" build_for_testing:true
124127
timeout-minutes: 25
125128
- name: Build XCFrameworks
126129
run: bundle exec fastlane build_xcframeworks
@@ -133,7 +136,7 @@ jobs:
133136
name: Automated Code Review
134137
runs-on: macos-14
135138
env:
136-
XCODE_VERSION: "15.4"
139+
XCODE_VERSION: "16.1"
137140
steps:
138141
- uses: actions/[email protected]
139142
- uses: ./.github/actions/bootstrap

.github/workflows/smoke-checks.yml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ concurrency:
2020

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

@@ -50,7 +50,7 @@ jobs:
5050
runs-on: macos-14
5151
if: ${{ github.event.inputs.record_snapshots != 'true' }}
5252
env:
53-
XCODE_VERSION: "15.4"
53+
XCODE_VERSION: "16.1"
5454
steps:
5555
- uses: actions/[email protected]
5656
- uses: ./.github/actions/bootstrap
@@ -63,22 +63,22 @@ jobs:
6363
- run: bundle exec fastlane pod_lint
6464
if: startsWith(github.event.pull_request.head.ref, 'release/')
6565

66-
build-xcode15:
67-
name: Build SDKs (Xcode 15)
66+
build-old-xcode:
67+
name: Build SDKs (Old Xcode)
6868
runs-on: macos-14
6969
if: ${{ github.event.inputs.record_snapshots != 'true' }}
7070
env:
71-
XCODE_VERSION: "15.4"
71+
XCODE_VERSION: "16.1"
7272
steps:
7373
- name: Connect Bot
7474
uses: webfactory/[email protected]
7575
with:
7676
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
7777
- uses: actions/[email protected]
78+
- uses: ./.github/actions/xcode-cache
7879
- uses: ./.github/actions/ruby-cache
79-
timeout-minutes: 25
8080
- name: Build SwiftUI
81-
run: bundle exec fastlane test_ui device:"iPhone 15" build_for_testing:true
81+
run: bundle exec fastlane test_ui device:"iPhone 16" build_for_testing:true
8282
timeout-minutes: 25
8383
- name: Build XCFrameworks
8484
run: bundle exec fastlane build_xcframeworks
@@ -90,6 +90,10 @@ jobs:
9090
test-ui-debug:
9191
name: Test SwiftUI (Debug)
9292
runs-on: macos-15
93+
env:
94+
GITHUB_TOKEN: ${{ secrets.CI_BOT_GITHUB_TOKEN }} # to open a PR
95+
IOS_SIMULATOR_DEVICE: "iPhone 16 Pro (18.5)" # TODO: IOS-1181
96+
XCODE_VERSION: "16.4" # TODO: IOS-1181
9397
steps:
9498
- uses: actions/[email protected]
9599
- uses: ./.github/actions/bootstrap
@@ -99,8 +103,6 @@ jobs:
99103
- name: Run UI Tests (Debug)
100104
run: bundle exec fastlane test_ui device:"${{ env.IOS_SIMULATOR_DEVICE }}" record:"${{ github.event.inputs.record_snapshots }}"
101105
timeout-minutes: 120
102-
env:
103-
GITHUB_TOKEN: ${{ secrets.CI_BOT_GITHUB_TOKEN }} # to open a PR
104106
- name: Run Sonar analysis
105107
if: ${{ github.event.inputs.record_snapshots != 'true' }}
106108
run: bundle exec fastlane sonar_upload
@@ -157,6 +159,8 @@ jobs:
157159
- build-test-app-and-frameworks
158160
env:
159161
LAUNCH_ID: ${{ needs.allure_testops_launch.outputs.launch_id }}
162+
IOS_SIMULATOR_DEVICE: "iPhone 16 Pro (18.5)" # TODO: IOS-1181
163+
XCODE_VERSION: "16.4" # TODO: IOS-1181
160164
strategy:
161165
matrix:
162166
batch: [0, 1]

fastlane/Fastfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ require 'xcodeproj'
88
import 'Sonarfile'
99
import 'Allurefile'
1010

11-
xcode_version = ENV['XCODE_VERSION'] || '16.4'
11+
xcode_version = ENV['XCODE_VERSION'] || '26.0'
1212
xcode_project = 'StreamChatSwiftUI.xcodeproj'
1313
sdk_names = ['StreamChatSwiftUI']
1414
github_repo = ENV['GITHUB_REPOSITORY'] || 'GetStream/stream-chat-swiftui'

fastlane/Scanfile

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,2 @@
1-
# For more information about this configuration visit
2-
# https://docs.fastlane.tools/actions/scan/#scanfile
3-
4-
# In general, you can use the options available
5-
# fastlane scan --help
6-
7-
devices(["iPhone 12"])
8-
9-
# Needed for Sonar
10-
code_coverage(true)
11-
12-
# Our integration tests need to run in parallel
13-
disable_concurrent_testing(true)
14-
15-
configuration("Debug")
16-
1+
configuration('Debug')
172
result_bundle(true)
18-
19-
skip_slack(true)

0 commit comments

Comments
 (0)