66 push :
77 branches : ["main"]
88
9- env :
10- XCODE_VERSION : 26.0.1
11-
129jobs :
13- lint :
14- name : Lint
15- runs-on : macos-26
16- steps :
17- - name : Checkout
18- uses : actions/checkout@v4
19- - name : Select Xcode ${{ env.XCODE_VERSION }}
20- run : sudo xcode-select -s /Applications/Xcode_${{ env.XCODE_VERSION }}.app
21- - name : Lint
22- run : |
23- Scripts/lint
24-
2510 build-and-test :
2611 name : Build and Test (${{ matrix.platform }})
27- needs : lint
2812 runs-on : macos-26
2913 strategy :
3014 fail-fast : false
3115 matrix :
3216 include :
33- # - platform: iOS
34- # xcode_destination: "platform=iOS Simulator,name=iPhone 17 Pro"
17+ - platform : iOS
18+ xcode_destination : " platform=iOS Simulator,name=iPhone 17 Pro"
3519 - platform : macOS
3620 xcode_destination : " platform=macOS,arch=arm64"
37- # - platform: tvOS
38- # xcode_destination: "platform=tvOS Simulator,name=Apple TV 4K (3rd generation)"
39- # - platform: watchOS
40- # xcode_destination: "platform=watchOS Simulator,name=Apple Watch Series 10 (46mm)"
21+ - platform : tvOS
22+ xcode_destination : " platform=tvOS Simulator,name=Apple TV 4K (3rd generation)"
23+ - platform : watchOS
24+ xcode_destination : " platform=watchOS Simulator,name=Apple Watch Series 11 (46mm)"
4125
4226 env :
4327 DEV_BUILDS : DevBuilds/Sources
@@ -47,39 +31,43 @@ jobs:
4731 XCODE_DESTINATION : ${{ matrix.xcode_destination }}
4832 XCODE_TEST_PLAN : DevTesting
4933 XCODE_TEST_PRODUCTS_PATH : .build/DevTesting.xctestproducts
34+ XCODE_VERSION : 26.3
5035
5136 steps :
5237 - name : Select Xcode ${{ env.XCODE_VERSION }}
53- run : sudo xcode-select -s /Applications/Xcode_${{ env. XCODE_VERSION }} .app
38+ run : sudo xcode-select -s /Applications/Xcode_"$ XCODE_VERSION" .app
5439
5540 - name : Checkout
56- uses : actions/checkout@v4
41+ uses : actions/checkout@v6
5742
5843 - name : Checkout DevBuilds
59- uses : actions/checkout@v4
44+ uses : actions/checkout@v6
6045 with :
6146 repository : DevKitOrganization/DevBuilds
6247 path : DevBuilds
6348
6449 - name : Restore XCTestProducts
6550 if : github.event_name != 'push'
6651 id : cache-xctestproducts-restore
67- uses : actions/cache/restore@v4
52+ uses : actions/cache/restore@v5
6853 with :
6954 path : ${{ env.XCODE_TEST_PRODUCTS_PATH }}
7055 key : cache-xctestproducts-${{ github.workflow }}-${{ matrix.platform }}-${{ github.sha }}
7156
57+ - name : Lint
58+ if : steps.cache-xctestproducts-restore.outputs.cache-hit != 'true'
59+ run : Scripts/lint
60+
7261 - uses : irgaly/xcode-cache@v1
7362 if : steps.cache-xctestproducts-restore.outputs.cache-hit != 'true'
7463 with :
75- key : xcode-cache-deriveddata-${{ github.workflow }}-${{ matrix.platform }}-${{ github.sha }}
64+ key : xcode-cache-deriveddata-${{ env.XCODE_VERSION }}-${{ github.workflow }}-${{ matrix.platform }}-${{ github.sha }}
7665 restore-keys : |
77- xcode-cache-deriveddata-${{ github.workflow }}-${{ matrix.platform }}-
78- xcode-cache-deriveddata-
66+ xcode-cache-deriveddata-${{ env.XCODE_VERSION }}-${{ github.workflow }}-${{ matrix.platform }}-
67+ xcode-cache-deriveddata-${{ env.XCODE_VERSION }}
7968 deriveddata-directory : .build/DerivedData
8069 sourcepackages-directory : .build/DerivedData/SourcePackages
8170 swiftpm-package-resolved-file : Package.resolved
82- verbose : true
8371
8472 - name : Build for Testing
8573 id : build-for-testing
9280 run : ${{ env.DEV_BUILDS }}/build_and_test.sh --action test-without-building
9381
9482 - name : Save XCTestProducts
95- if : failure() && steps.cache-xctestproducts-restore.outputs.cache-hit != 'true'
96- uses : actions/cache/save@v4
83+ if : (cancelled() || failure() ) && steps.cache-xctestproducts-restore.outputs.cache-hit != 'true'
84+ uses : actions/cache/save@v5
9785 with :
9886 path : ${{ env.XCODE_TEST_PRODUCTS_PATH }}
9987 key : ${{ steps.cache-xctestproducts-restore.outputs.cache-primary-key }}
@@ -116,7 +104,7 @@ jobs:
116104
117105 - name : Upload Logs and XCResults
118106 if : success() || failure()
119- uses : actions/upload-artifact@v4
107+ uses : actions/upload-artifact@v7
120108 with :
121109 name : Logs_and_XCResults-${{ matrix.platform }}
122110 path : |
@@ -126,7 +114,7 @@ jobs:
126114
127115 - name : Upload xccovPretty output
128116 if : github.event_name != 'push'
129- uses : actions/upload-artifact@v4
117+ uses : actions/upload-artifact@v7
130118 with :
131119 name : xccovPrettyOutput-${{ matrix.platform }}
132120 path : .build/xccovPretty-${{ matrix.platform }}.output
@@ -142,7 +130,7 @@ jobs:
142130
143131 steps :
144132 - name : Download xccovPretty output
145- uses : actions/download-artifact@v4
133+ uses : actions/download-artifact@v8
146134 with :
147135 name : xccovPrettyOutput-macOS
148136
0 commit comments