@@ -15,30 +15,58 @@ concurrency:
1515
1616jobs :
1717 xcodebuild :
18- name : xcodebuild
18+ runs-on : macos-15
19+ strategy :
20+ matrix :
21+ command : [test, ""]
22+ platform : [IOS, MAC_CATALYST, MACOS, TVOS, VISIONOS, WATCHOS]
23+ exclude :
24+ - { platform: VISIONOS }
25+ include :
26+ - { command: test, skip_release: 1 }
27+ steps :
28+ - uses : actions/checkout@v4
29+ - name : Cache derived data
30+ uses : actions/cache@v3
31+ with :
32+ path : |
33+ ~/.derivedData
34+ key : |
35+ deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.command }}-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift') }}
36+ restore-keys : |
37+ deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.command }}-
38+ - name : Set IgnoreFileSystemDeviceInodeChanges flag
39+ run : defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES
40+ - name : Update mtime for incremental builds
41+ uses : chetan/git-restore-mtime-action@v2
42+ - run : make dot-env
43+ - name : Debug
44+ run : make XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" xcodebuild
45+ - name : Release
46+ if : matrix.skip_release != '1'
47+ run : make XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Release PLATFORM="${{ matrix.platform }}" xcodebuild
48+
49+ xcodebuild-macOS-14 :
1950 runs-on : macos-14
2051 strategy :
2152 matrix :
2253 command : [test, ""]
2354 platform : [IOS, MAC_CATALYST, MACOS, TVOS, VISIONOS, WATCHOS]
24- xcode : ["15.4", "16.0"]
2555 exclude :
2656 - { platform: VISIONOS }
2757 include :
2858 - { command: test, skip_release: 1 }
2959 steps :
3060 - uses : actions/checkout@v4
31- - name : Select Xcode ${{ matrix.xcode }}
32- run : sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
3361 - name : Cache derived data
3462 uses : actions/cache@v3
3563 with :
3664 path : |
3765 ~/.derivedData
3866 key : |
39- deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix. command }}-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift') }}
67+ deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.command }}-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift') }}
4068 restore-keys : |
41- deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix. command }}-
69+ deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.command }}-
4270 - name : Set IgnoreFileSystemDeviceInodeChanges flag
4371 run : defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES
4472 - name : Update mtime for incremental builds
6795 path : |
6896 .build
6997 key : |
70- build-spm-linux-${{ matrix.swift-verion }}-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift', '**/Package.resolved') }}
98+ build-spm-linux-${{ matrix.swift-version }}-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift', '**/Package.resolved') }}
7199 restore-keys : |
72- build-spm-linux-${{ matrix.swift-verion }}-
100+ build-spm-linux-${{ matrix.swift-version }}-
73101 - run : make dot-env
74102 - name : Run tests
75103 run : swift test --skip IntegrationTests
86114
87115 examples :
88116 name : Examples
89- runs-on : macos-14
117+ runs-on : macos-15
90118 steps :
91119 - uses : actions/checkout@v4
92120 - name : Cache derived data
98126 restore-keys : |
99127 deriveddata-examples-
100128 - name : Select Xcode 16
101- run : sudo xcode-select -s /Applications/Xcode_16.app
129+ run : sudo xcode-select -s /Applications/Xcode_16.0. app
102130 - name : Set IgnoreFileSystemDeviceInodeChanges flag
103131 run : defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES
104132 - name : Update mtime for incremental builds
0 commit comments