Skip to content

Commit 1e81d20

Browse files
ci: Add Mac Catalyst build support
1 parent fb2d0d6 commit 1e81d20

1 file changed

Lines changed: 29 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,8 +258,12 @@ jobs:
258258
run: sudo gem install ceedling -v 0.31.1 --no-user-install
259259
- name: Install automake
260260
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install autoconf automake libtool
261-
- name: Run build
261+
- name: Run iOS build
262262
run: ceedling project:ios verbosity[4] release
263+
- name: Build Catalyst WolfSSL for XCFramework
264+
run: |
265+
cd third_party/wolfssl
266+
PREFIX=$(pwd)/../builds/wolfssl_ios ./autotools-ios-helper.sh -maccatalyst
263267
- name: Copy all public headers into the umbrella framework
264268
run: cp public/*.h ios/Lightway/Lightway
265269
- name: Build xcframework
@@ -280,6 +284,30 @@ jobs:
280284
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install autoconf automake libtool
281285
- name: Run build
282286
run: ceedling project:tvos verbosity[4] release
287+
catalyst:
288+
runs-on: macos-latest
289+
steps:
290+
- uses: actions/checkout@v4
291+
- uses: ruby/setup-ruby@v1
292+
with:
293+
ruby-version: '3.0'
294+
bundler-cache: true
295+
- name: Install Ceedling
296+
run: sudo gem install ceedling -v 0.31.1 --no-user-install
297+
- name: Install automake
298+
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install autoconf automake libtool
299+
- name: Build arm64
300+
run: CATALYST_TARGET_TRIPLE=arm64-apple-ios13.1-macabi ceedling project:catalyst verbosity[4] release
301+
- name: Save arm64 build
302+
run: cp build/artifacts/release/libhelium.a libhelium_arm64.a
303+
- name: Clean build
304+
run: ceedling project:catalyst clobber
305+
- name: Build x86_64
306+
run: CATALYST_TARGET_TRIPLE=x86_64-apple-ios13.1-macabi ceedling project:catalyst verbosity[4] release
307+
- name: Save x86_64 build
308+
run: cp build/artifacts/release/libhelium.a libhelium_x86_64.a
309+
- name: Create universal binary
310+
run: lipo -create libhelium_arm64.a libhelium_x86_64.a -output build/artifacts/release/libhelium.a
283311
android:
284312
runs-on: ubuntu-22.04
285313
strategy:

0 commit comments

Comments
 (0)