Skip to content

Commit 732e542

Browse files
committed
GHA Apple -- add ios simulator build
1 parent 73d3650 commit 732e542

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

.github/workflows/apple.yml

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ jobs:
3939
config:
4040
- {name: "macOS-latest", os: "macOS-latest", cmake_extra: "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DLSL_UNITTESTS=ON -DLSL_BENCHMARKS=ON" }
4141
- {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" }
4243

4344
steps:
4445
- uses: actions/checkout@v4
@@ -75,7 +76,7 @@ jobs:
7576
run: cmake --build build --config Release --target install
7677

7778
- name: test install using examples
78-
if: matrix.config.name != 'iOS'
79+
if: matrix.config.name == 'macOS-latest'
7980
run: |
8081
# Test that the in-tree install was successful by building the examples
8182
cmake -S examples -B examples/build \
@@ -94,7 +95,7 @@ jobs:
9495
--entitlements lsl.entitlements --options runtime \
9596
install/Frameworks/lsl.framework/Versions/A/lsl
9697
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
9899
codesign -vvv --force --deep --sign "$APPLE_CODE_SIGN_IDENTITY_APP" \
99100
install/Frameworks/lsl.framework/lsl
100101
codesign -vvv --verify --deep --strict install/Frameworks/lsl.framework/lsl
@@ -106,7 +107,7 @@ jobs:
106107
107108
# run internal tests
108109
- name: unit tests
109-
if: matrix.config.name != 'iOS'
110+
if: matrix.config.name == 'macOS-latest'
110111
run: |
111112
mkdir -p dumps
112113
install/bin/lsl_test_internal --order rand --wait-for-keypress never --durations yes
@@ -159,7 +160,7 @@ jobs:
159160
path: |
160161
package/*.pkg
161162
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.
163164

164165
- name: Upload iOS Framework
165166
if: matrix.config.name == 'iOS'
@@ -169,6 +170,13 @@ jobs:
169170
path: install/Frameworks/lsl.framework.zip
170171
# Note: the artifact drops the folder structure and only keeps the zip.
171172

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+
172180
xcframework_and_deploy:
173181
name: XCFramework and Deploy
174182
needs: build
@@ -183,6 +191,10 @@ jobs:
183191
with:
184192
name: build-iOS
185193
path: build-iOS
194+
- uses: actions/download-artifact@v4
195+
with:
196+
name: build-iOS-Simulator
197+
path: build-iOS-Simulator
186198

187199
- name: Unzip macOS Framework
188200
run: |
@@ -192,6 +204,10 @@ jobs:
192204
run: |
193205
unzip build-iOS/lsl.framework.zip -d build-iOS/Frameworks
194206
207+
- name: Unzip iOS Simulator Framework
208+
run: |
209+
unzip build-iOS-Simulator/lsl.framework.zip -d build-iOS-Simulator/Frameworks
210+
195211
- name: Install certificates and provisioning profiles
196212
uses: ./.github/actions/install-apple-certs
197213
with:
@@ -205,6 +221,7 @@ jobs:
205221
xcodebuild -create-xcframework \
206222
-framework build-macOS-latest/Frameworks/lsl.framework \
207223
-framework build-iOS/Frameworks/lsl.framework \
224+
-framework build-iOS-Simulator/Frameworks/lsl.framework \
208225
-output lsl.xcframework
209226
210227
codesign -vvv --force --deep --sign "$APPLE_CODE_SIGN_IDENTITY_APP" lsl.xcframework

0 commit comments

Comments
 (0)