@@ -15,30 +15,58 @@ concurrency:
15
15
16
16
jobs :
17
17
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 :
19
50
runs-on : macos-14
20
51
strategy :
21
52
matrix :
22
53
command : [test, ""]
23
54
platform : [IOS, MAC_CATALYST, MACOS, TVOS, VISIONOS, WATCHOS]
24
- xcode : ["15.4", "16.0"]
25
55
exclude :
26
56
- { platform: VISIONOS }
27
57
include :
28
58
- { command: test, skip_release: 1 }
29
59
steps :
30
60
- uses : actions/checkout@v4
31
- - name : Select Xcode ${{ matrix.xcode }}
32
- run : sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
33
61
- name : Cache derived data
34
62
uses : actions/cache@v3
35
63
with :
36
64
path : |
37
65
~/.derivedData
38
66
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') }}
40
68
restore-keys : |
41
- deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix. command }}-
69
+ deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.command }}-
42
70
- name : Set IgnoreFileSystemDeviceInodeChanges flag
43
71
run : defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES
44
72
- name : Update mtime for incremental builds
67
95
path : |
68
96
.build
69
97
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') }}
71
99
restore-keys : |
72
- build-spm-linux-${{ matrix.swift-verion }}-
100
+ build-spm-linux-${{ matrix.swift-version }}-
73
101
- run : make dot-env
74
102
- name : Run tests
75
103
run : swift test --skip IntegrationTests
86
114
87
115
examples :
88
116
name : Examples
89
- runs-on : macos-14
117
+ runs-on : macos-15
90
118
steps :
91
119
- uses : actions/checkout@v4
92
120
- name : Cache derived data
98
126
restore-keys : |
99
127
deriveddata-examples-
100
128
- 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
102
130
- name : Set IgnoreFileSystemDeviceInodeChanges flag
103
131
run : defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES
104
132
- name : Update mtime for incremental builds
0 commit comments