1717 SwiftLint :
1818 runs-on : ubuntu-latest
1919 steps :
20- - uses : actions/checkout@v3
20+ - uses : actions/checkout@v5
2121 - name : GitHub Action for SwiftLint
2222 uses : norio-nomura/action-swiftlint@3.2.1
2323 with :
@@ -34,20 +34,17 @@ jobs:
3434 fail-fast : false
3535 matrix :
3636 include :
37- - xcode : " Xcode_16.0"
37+ - xcode : " Xcode_26.0.1"
38+ runsOn : macOS-26
39+ name : " macOS 26, Xcode 26.0, Swift 6.2.0"
40+ - xcode : " Xcode_16.1"
3841 runsOn : macOS-14
39- name : " macOS 14, Xcode 16.0 , Swift 6.0"
42+ name : " macOS 14, Xcode 16.1 , Swift 6.0.2 "
4043 - xcode : " Xcode_15.4"
4144 runsOn : macOS-14
4245 name : " macOS 14, Xcode 15.4, Swift 5.10"
43- - xcode : " Xcode_15.0"
44- runsOn : macos-13
45- name : " macOS 13, Xcode 15.0, Swift 5.9.0"
46- - xcode : " Xcode_14.3.1"
47- runsOn : macos-13
48- name : " macOS 13, Xcode 14.3.1, Swift 5.8.0"
4946 steps :
50- - uses : actions/checkout@v3
47+ - uses : actions/checkout@v5
5148 - name : ${{ matrix.name }}
5249 run : xcodebuild test -scheme "Typhoon" -destination "platform=macOS" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1
5350 - name : Upload test coverage reports to Codecov
@@ -67,28 +64,20 @@ jobs:
6764 fail-fast : false
6865 matrix :
6966 include :
67+ - destination : " OS=26.0.1,name=iPhone 17 Pro"
68+ xcode : " Xcode_26.0.1"
69+ runsOn : macOS-26
70+ name : " OS=26.0, Xcode 26.0, Swift 6.2.0"
7071 - destination : " OS=18.1,name=iPhone 16 Pro"
7172 name : " iOS 18.1"
7273 xcode : " Xcode_16.1"
7374 runsOn : macOS-14
74- - destination : " OS=18.0,name=iPhone 16 Pro"
75- name : " iOS 18.0"
76- xcode : " Xcode_16.0"
77- runsOn : macOS-14
78- - destination : " OS=17.5,name=iPhone 15 Pro"
79- name : " iOS 17.5"
80- xcode : " Xcode_15.4"
81- runsOn : macOS-14
82- - destination : " OS=17.0.1,name=iPhone 14 Pro"
83- name : " iOS 17.0.1"
84- xcode : " Xcode_15.0"
85- runsOn : macos-13
86- - destination : " OS=16.4,name=iPhone 14 Pro"
87- name : " iOS 16.4"
88- xcode : " Xcode_14.3.1"
89- runsOn : macos-13
75+ - destination : " OS=17.4,name=iPhone 15 Pro"
76+ name : " iOS 17.4"
77+ xcode : " Xcode_15.3"
78+ runsOn : macos-14
9079 steps :
91- - uses : actions/checkout@v3
80+ - uses : actions/checkout@v5
9281 - name : ${{ matrix.name }}
9382 run : xcodebuild test -scheme "Typhoon" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1
9483 - name : Upload test coverage reports to Codecov
@@ -108,28 +97,20 @@ jobs:
10897 fail-fast : false
10998 matrix :
11099 include :
100+ - destination : " OS=26.0,name=Apple TV"
101+ xcode : " Xcode_26.0.1"
102+ runsOn : macOS-26
103+ name : " tvOS 26.0"
111104 - destination : " OS=18.1,name=Apple TV"
112105 name : " tvOS 18.1"
113106 xcode : " Xcode_16.1"
114107 runsOn : macOS-14
115- - destination : " OS=18.0,name=Apple TV"
116- name : " tvOS 18.0"
117- xcode : " Xcode_16.0"
118- runsOn : macOS-14
119- - destination : " OS=17.5,name=Apple TV"
120- name : " tvOS 17.5"
121- xcode : " Xcode_15.4"
122- runsOn : macOS-14
123- - destination : " OS=17.0,name=Apple TV"
124- name : " tvOS 17.0"
125- xcode : " Xcode_15.0"
126- runsOn : macos-13
127- - destination : " OS=16.4,name=Apple TV"
128- name : " tvOS 16.4"
129- xcode : " Xcode_14.3.1"
130- runsOn : macos-13
108+ - destination : " OS=17.4,name=Apple TV"
109+ name : " tvOS 17.4"
110+ xcode : " Xcode_15.3"
111+ runsOn : macos-14
131112 steps :
132- - uses : actions/checkout@v3
113+ - uses : actions/checkout@v5
133114 - name : ${{ matrix.name }}
134115 run : xcodebuild test -scheme "Typhoon" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1
135116 - name : Upload test coverage reports to Codecov
@@ -149,28 +130,24 @@ jobs:
149130 fail-fast : false
150131 matrix :
151132 include :
133+ - destination : " OS=26.0,name=Apple Watch Ultra 3 (49mm)"
134+ xcode : " Xcode_26.0.1"
135+ runsOn : macOS-26
136+ name : " watchOS 26.0"
152137 - destination : " OS=11.1,name=Apple Watch Series 10 (46mm)"
153138 name : " watchOS 11.1"
154139 xcode : " Xcode_16.1"
155140 runsOn : macOS-14
156- - destination : " OS=11.0,name=Apple Watch Series 10 (46mm)"
157- name : " watchOS 11.0"
158- xcode : " Xcode_16.0"
159- runsOn : macOS-14
160141 - destination : " OS=10.5,name=Apple Watch Series 9 (45mm)"
161142 name : " watchOS 10.5"
162- xcode : " Xcode_15.4 "
143+ xcode : " Xcode_15.3 "
163144 runsOn : macOS-14
164- - destination : " OS=10.0,name=Apple Watch Series 9 (45mm)"
165- name : " watchOS 10.0"
166- xcode : " Xcode_15.0"
167- runsOn : macos-13
168- - destination : " OS=9.4,name=Apple Watch Series 8 (45mm)"
169- name : " watchOS 9.4"
170- xcode : " Xcode_14.3.1"
171- runsOn : macos-13
145+ - destination : " OS=10.4,name=Apple Watch Series 9 (45mm)"
146+ name : " watchOS 10.4"
147+ xcode : " Xcode_15.3"
148+ runsOn : macos-14
172149 steps :
173- - uses : actions/checkout@v3
150+ - uses : actions/checkout@v5
174151 - name : ${{ matrix.name }}
175152 run : xcodebuild test -scheme "Typhoon" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1
176153 - name : Upload test coverage reports to Codecov
@@ -190,48 +167,54 @@ jobs:
190167 fail-fast : false
191168 matrix :
192169 include :
170+ - destination : " macOS 26, SPM 6.2.0 Test"
171+ xcode : " Xcode_26.0.1"
172+ runsOn : macOS-26
173+ - destination : " macOS 15, SPM 6.0.2 Test"
174+ xcode : " Xcode_16.0"
175+ runsOn : macOS-15
193176 - name : " macOS 14, SPM 6.0.2 Test"
194177 xcode : " Xcode_16.1"
195178 runsOn : macOS-14
196- - name : " macOS 14, SPM 6.0.0 Test"
197- xcode : " Xcode_16.0"
198- runsOn : macOS-14
199- - name : " macOS 14, SPM 5.9.0 Test"
200- xcode : " Xcode_15.0"
179+ - name : " macOS 14, SPM 5.10.0 Test"
180+ xcode : " Xcode_15.3"
201181 runsOn : macos-14
202- - name : " macOS 13, SPM 5.8.1 Test"
203- xcode : " Xcode_14.3.1"
204- runsOn : macos-13
205182 steps :
206- - uses : actions/checkout@v3
183+ - uses : actions/checkout@v5
207184 - name : ${{ matrix.name }}
208185 run : swift build -c release
209186
210187 merge-test-reports :
211188 needs : [iOS, macOS, watchOS, tvOS]
212- runs-on : macos-13
189+ runs-on : macos-15
213190 steps :
214191 - name : Download artifacts
215- uses : actions/download-artifact@v4
192+ uses : actions/download-artifact@v6
216193 with :
217194 path : test_output
218195 - run : xcrun xcresulttool merge test_output/**/*.xcresult --output-path test_output/final/final.xcresult
219196 - name : Upload Merged Artifact
220- uses : actions/upload-artifact@v4
197+ uses : actions/upload-artifact@v5
221198 with :
222199 name : MergedResult
223200 path : test_output/final
224201
225202 discover-typos :
226203 name : Discover Typos
227- runs-on : macOS-13
204+ runs-on : macos-15
228205 env :
229- DEVELOPER_DIR : /Applications/Xcode_14.1 .app/Contents/Developer
206+ DEVELOPER_DIR : /Applications/Xcode_16.4 .app/Contents/Developer
230207 steps :
231- - uses : actions/checkout@v4
208+ - uses : actions/checkout@v5
209+
210+ - name : Set up Python environment
211+ run : |
212+ python3 -m venv .venv
213+ source .venv/bin/activate
214+ pip install --upgrade pip
215+ pip install codespell
216+
232217 - name : Discover typos
233218 run : |
234- export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.11/bin"
235- python3 -m pip install --upgrade pip
236- python3 -m pip install codespell
219+ source .venv/bin/activate
237220 codespell --ignore-words-list="hart,inout,msdos,sur" --skip="./.build/*,./.git/*"
0 commit comments