@@ -14,27 +14,31 @@ concurrency:
14
14
cancel-in-progress : true
15
15
16
16
jobs :
17
- xcodebuild :
17
+ xcodebuild-latest :
18
+ name : xcodebuild (16)
18
19
runs-on : macos-15
19
20
strategy :
20
21
matrix :
21
22
command : [test, ""]
22
- platform : [IOS, MAC_CATALYST, MACOS, TVOS, VISIONOS, WATCHOS]
23
- exclude :
24
- - { platform: VISIONOS }
23
+ platform : [IOS, MACOS]
24
+ xcode : ["16.2"]
25
25
include :
26
- - { command: test, skip_release: 1 }
26
+ - {command: test, skip_release: 1}
27
27
steps :
28
28
- uses : actions/checkout@v4
29
+ - name : Select Xcode ${{ matrix.xcode }}
30
+ run : sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
31
+ - name : List available devices
32
+ run : xcrun simctl list devices available
29
33
- name : Cache derived data
30
34
uses : actions/cache@v3
31
35
with :
32
36
path : |
33
37
~/.derivedData
34
38
key : |
35
- deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.command }}-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift') }}
39
+ deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix. command }}-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift') }}
36
40
restore-keys : |
37
- deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.command }}-
41
+ deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix. command }}-
38
42
- name : Set IgnoreFileSystemDeviceInodeChanges flag
39
43
run : defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES
40
44
- name : Update mtime for incremental builds
@@ -46,27 +50,44 @@ jobs:
46
50
if : matrix.skip_release != '1'
47
51
run : make XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Release PLATFORM="${{ matrix.platform }}" xcodebuild
48
52
49
- xcodebuild-macOS-14 :
53
+ xcodebuild :
54
+ name : xcodebuild (15)
50
55
runs-on : macos-14
51
56
strategy :
52
57
matrix :
53
58
command : [test, ""]
54
59
platform : [IOS, MAC_CATALYST, MACOS, TVOS, VISIONOS, WATCHOS]
60
+ xcode : [15.2, 15.4]
55
61
exclude :
56
- - { platform: VISIONOS }
62
+ - {xcode: 15.2, command: test}
63
+ - {xcode: 15.2, platform: MAC_CATALYST}
64
+ - {xcode: 15.2, platform: TVOS}
65
+ - {xcode: 15.2, platform: VISIONOS}
66
+ - {xcode: 15.2, platform: WATCHOS}
57
67
include :
58
- - { command: test, skip_release: 1 }
68
+ - {command: test, skip_release: 1}
59
69
steps :
60
70
- uses : actions/checkout@v4
71
+ - name : Select Xcode ${{ matrix.xcode }}
72
+ run : sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
73
+ - name : Install visionOS runtime
74
+ if : matrix.platform == 'visionOS'
75
+ run : |
76
+ sudo xcodebuild -runFirstLaunch
77
+ sudo xcrun simctl list
78
+ sudo xcodebuild -downloadPlatform visionOS
79
+ sudo xcodebuild -runFirstLaunch
80
+ - name : List available devices
81
+ run : xcrun simctl list devices available
61
82
- name : Cache derived data
62
83
uses : actions/cache@v3
63
84
with :
64
85
path : |
65
86
~/.derivedData
66
87
key : |
67
- deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.command }}-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift') }}
88
+ deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix. command }}-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift') }}
68
89
restore-keys : |
69
- deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.command }}-
90
+ deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix. command }}-
70
91
- name : Set IgnoreFileSystemDeviceInodeChanges flag
71
92
run : defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES
72
93
- name : Update mtime for incremental builds
@@ -102,15 +123,15 @@ jobs:
102
123
# - name: Run tests
103
124
# run: swift test --skip IntegrationTests
104
125
105
- # library-evolution:
106
- # name: Library (evolution)
107
- # runs-on: macos-14
108
- # steps:
109
- # - uses: actions/checkout@v4
110
- # - name: Select Xcode 15.4
111
- # run: sudo xcode-select -s /Applications/Xcode_15.4.app
112
- # - name: Build for library evolution
113
- # run: make build-for-library-evolution
126
+ library-evolution :
127
+ name : Library (evolution)
128
+ runs-on : macos-14
129
+ steps :
130
+ - uses : actions/checkout@v4
131
+ - name : Select Xcode 15.4
132
+ run : sudo xcode-select -s /Applications/Xcode_15.4.app
133
+ - name : Build for library evolution
134
+ run : make build-for-library-evolution
114
135
115
136
examples :
116
137
name : Examples
0 commit comments