Skip to content

Commit 779473e

Browse files
committed
GHA Apple -- add ios simulator build
1 parent 73d3650 commit 779473e

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

.github/workflows/apple.yml

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,9 @@ jobs:
3737
fail-fast: false
3838
matrix:
3939
config:
40-
- {name: "macOS-latest", os: "macOS-latest", cmake_extra: "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DLSL_UNITTESTS=ON -DLSL_BENCHMARKS=ON" }
40+
- {name: "macOS-latest", os: "macOS-latest", cmake_extra: "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DLSL_UNITTESTS=ON -DLSL_BENCHMARKS=ON -DCMAKE_OSX_ARCHITECTURES=\"x86_64;arm64\"" }
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 -G Xcode" }
4243

4344
steps:
4445
- uses: actions/checkout@v4
@@ -60,7 +61,6 @@ jobs:
6061
-DCMAKE_BUILD_TYPE=Release \
6162
-DCMAKE_INSTALL_PREFIX=${PWD}/install \
6263
-DCPACK_PACKAGE_DIRECTORY=${PWD}/package \
63-
-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" \
6464
-DLSL_FRAMEWORK=ON \
6565
-Dlslgitrevision=${{ github.sha }} \
6666
-Dlslgitbranch=${{ github.ref }} \
@@ -75,7 +75,7 @@ jobs:
7575
run: cmake --build build --config Release --target install
7676

7777
- name: test install using examples
78-
if: matrix.config.name != 'iOS'
78+
if: matrix.config.name == 'macOS-latest'
7979
run: |
8080
# Test that the in-tree install was successful by building the examples
8181
cmake -S examples -B examples/build \
@@ -94,7 +94,7 @@ jobs:
9494
--entitlements lsl.entitlements --options runtime \
9595
install/Frameworks/lsl.framework/Versions/A/lsl
9696
codesign -vvv --verify --deep --strict install/Frameworks/lsl.framework/Versions/A/lsl
97-
elif [[ "${{ matrix.config.name }}" == "iOS" ]]; then
97+
elif [[ "${{ matrix.config.name }}" == "iOS" || "${{ matrix.config.name }}" == "iOS Simulator" ]]; then
9898
codesign -vvv --force --deep --sign "$APPLE_CODE_SIGN_IDENTITY_APP" \
9999
install/Frameworks/lsl.framework/lsl
100100
codesign -vvv --verify --deep --strict install/Frameworks/lsl.framework/lsl
@@ -106,7 +106,7 @@ jobs:
106106
107107
# run internal tests
108108
- name: unit tests
109-
if: matrix.config.name != 'iOS'
109+
if: matrix.config.name == 'macOS-latest'
110110
run: |
111111
mkdir -p dumps
112112
install/bin/lsl_test_internal --order rand --wait-for-keypress never --durations yes
@@ -159,7 +159,7 @@ jobs:
159159
path: |
160160
package/*.pkg
161161
install/Frameworks/lsl.framework.zip
162-
# Note: the artifact will preserves the folder structure up to the common root, in this case all.
162+
# Note: the artifact will preserve the folder structure up to the common root, in this case all.
163163

164164
- name: Upload iOS Framework
165165
if: matrix.config.name == 'iOS'
@@ -169,6 +169,13 @@ jobs:
169169
path: install/Frameworks/lsl.framework.zip
170170
# Note: the artifact drops the folder structure and only keeps the zip.
171171

172+
- name: Upload iOS Simulator Framework
173+
if: matrix.config.name == 'iOS Simulator'
174+
uses: actions/upload-artifact@v4
175+
with:
176+
name: build-iOS-Simulator
177+
path: install/Frameworks/lsl.framework.zip
178+
172179
xcframework_and_deploy:
173180
name: XCFramework and Deploy
174181
needs: build
@@ -183,6 +190,10 @@ jobs:
183190
with:
184191
name: build-iOS
185192
path: build-iOS
193+
- uses: actions/download-artifact@v4
194+
with:
195+
name: build-iOS-Simulator
196+
path: build-iOS-Simulator
186197

187198
- name: Unzip macOS Framework
188199
run: |
@@ -192,6 +203,10 @@ jobs:
192203
run: |
193204
unzip build-iOS/lsl.framework.zip -d build-iOS/Frameworks
194205
206+
- name: Unzip iOS Simulator Framework
207+
run: |
208+
unzip build-iOS-Simulator/lsl.framework.zip -d build-iOS-Simulator/Frameworks
209+
195210
- name: Install certificates and provisioning profiles
196211
uses: ./.github/actions/install-apple-certs
197212
with:
@@ -205,6 +220,7 @@ jobs:
205220
xcodebuild -create-xcframework \
206221
-framework build-macOS-latest/Frameworks/lsl.framework \
207222
-framework build-iOS/Frameworks/lsl.framework \
223+
-framework build-iOS-Simulator/Frameworks/lsl.framework \
208224
-output lsl.xcframework
209225
210226
codesign -vvv --force --deep --sign "$APPLE_CODE_SIGN_IDENTITY_APP" lsl.xcframework

0 commit comments

Comments
 (0)