39
39
config :
40
40
- {name: "macOS-latest", os: "macOS-latest", cmake_extra: "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DLSL_UNITTESTS=ON -DLSL_BENCHMARKS=ON" }
41
41
- {name: "iOS", os: "macOS-latest", cmake_extra: "-DCMAKE_TOOLCHAIN_FILE=cmake/ios.toolchain.cmake -DPLATFORM=OS64" }
42
+ - {name: "iOS Simulator", os: "macOS-latest", cmake_extra: "-DCMAKE_TOOLCHAIN_FILE=cmake/ios.toolchain.cmake -DPLATFORM=SIMULATOR64COMBINED" }
42
43
43
44
steps :
44
45
- uses : actions/checkout@v4
75
76
run : cmake --build build --config Release --target install
76
77
77
78
- name : test install using examples
78
- if : matrix.config.name != 'iOS '
79
+ if : matrix.config.name == 'macOS-latest '
79
80
run : |
80
81
# Test that the in-tree install was successful by building the examples
81
82
cmake -S examples -B examples/build \
94
95
--entitlements lsl.entitlements --options runtime \
95
96
install/Frameworks/lsl.framework/Versions/A/lsl
96
97
codesign -vvv --verify --deep --strict install/Frameworks/lsl.framework/Versions/A/lsl
97
- elif [[ "${{ matrix.config.name }}" == "iOS" ]]; then
98
+ elif [[ "${{ matrix.config.name }}" == "iOS" || "${{ matrix.config.name }}" == "iOS Simulator" ]]; then
98
99
codesign -vvv --force --deep --sign "$APPLE_CODE_SIGN_IDENTITY_APP" \
99
100
install/Frameworks/lsl.framework/lsl
100
101
codesign -vvv --verify --deep --strict install/Frameworks/lsl.framework/lsl
@@ -106,7 +107,7 @@ jobs:
106
107
107
108
# run internal tests
108
109
- name : unit tests
109
- if : matrix.config.name != 'iOS '
110
+ if : matrix.config.name == 'macOS-latest '
110
111
run : |
111
112
mkdir -p dumps
112
113
install/bin/lsl_test_internal --order rand --wait-for-keypress never --durations yes
@@ -159,7 +160,7 @@ jobs:
159
160
path : |
160
161
package/*.pkg
161
162
install/Frameworks/lsl.framework.zip
162
- # Note: the artifact will preserves the folder structure up to the common root, in this case all.
163
+ # Note: the artifact will preserve the folder structure up to the common root, in this case all.
163
164
164
165
- name : Upload iOS Framework
165
166
if : matrix.config.name == 'iOS'
@@ -169,6 +170,13 @@ jobs:
169
170
path : install/Frameworks/lsl.framework.zip
170
171
# Note: the artifact drops the folder structure and only keeps the zip.
171
172
173
+ - name : Upload iOS Simulator Framework
174
+ if : matrix.config.name == 'iOS Simulator'
175
+ uses : actions/upload-artifact@v4
176
+ with :
177
+ name : build-iOS-Simulator
178
+ path : install/Frameworks/lsl.framework.zip
179
+
172
180
xcframework_and_deploy :
173
181
name : XCFramework and Deploy
174
182
needs : build
@@ -183,6 +191,10 @@ jobs:
183
191
with :
184
192
name : build-iOS
185
193
path : build-iOS
194
+ - uses : actions/download-artifact@v4
195
+ with :
196
+ name : build-iOS-Simulator
197
+ path : build-iOS-Simulator
186
198
187
199
- name : Unzip macOS Framework
188
200
run : |
@@ -192,6 +204,10 @@ jobs:
192
204
run : |
193
205
unzip build-iOS/lsl.framework.zip -d build-iOS/Frameworks
194
206
207
+ - name : Unzip iOS Simulator Framework
208
+ run : |
209
+ unzip build-iOS-Simulator/lsl.framework.zip -d build-iOS-Simulator/Frameworks
210
+
195
211
- name : Install certificates and provisioning profiles
196
212
uses : ./.github/actions/install-apple-certs
197
213
with :
@@ -205,6 +221,7 @@ jobs:
205
221
xcodebuild -create-xcframework \
206
222
-framework build-macOS-latest/Frameworks/lsl.framework \
207
223
-framework build-iOS/Frameworks/lsl.framework \
224
+ -framework build-iOS-Simulator/Frameworks/lsl.framework \
208
225
-output lsl.xcframework
209
226
210
227
codesign -vvv --force --deep --sign "$APPLE_CODE_SIGN_IDENTITY_APP" lsl.xcframework
0 commit comments