Skip to content

Commit 35a812d

Browse files
Copilotkraenhansen
andcommitted
Enable visionOS triplets in Ferric and add visionOS workflow
Co-authored-by: kraenhansen <1243959+kraenhansen@users.noreply.github.com>
1 parent 41120db commit 35a812d

File tree

3 files changed

+55
-3
lines changed

3 files changed

+55
-3
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Check visionOS
2+
3+
env:
4+
# Version here should match the one in React Native template and packages/cmake-rn/src/cli.ts
5+
NDK_VERSION: 27.1.12297006
6+
# Enabling the Gradle test on CI (disabled by default because it downloads a lot)
7+
ENABLE_GRADLE_TESTS: true
8+
9+
on:
10+
push:
11+
branches:
12+
- main
13+
pull_request:
14+
types: [opened, synchronize, reopened]
15+
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.ref }}
18+
cancel-in-progress: true
19+
20+
jobs:
21+
test-visionos:
22+
name: Test Ferric with visionOS Triplets
23+
runs-on: macos-latest
24+
steps:
25+
- uses: actions/checkout@v4
26+
- uses: actions/setup-node@v4
27+
with:
28+
node-version: lts/jod
29+
- name: Set up JDK 17
30+
uses: actions/setup-java@v3
31+
with:
32+
java-version: "17"
33+
distribution: "temurin"
34+
- name: Setup Android SDK
35+
uses: android-actions/setup-android@v3
36+
with:
37+
packages: tools platform-tools ndk;${{ env.NDK_VERSION }}
38+
# Install visionOS targets for Rust
39+
- run: rustup target add aarch64-apple-visionos aarch64-apple-visionos-sim
40+
# Also install other required targets
41+
- run: rustup target add x86_64-linux-android aarch64-linux-android armv7-linux-androideabi i686-linux-android aarch64-apple-ios-sim
42+
- run: npm ci
43+
- run: npm run build
44+
# Bootstrap host package to get weak-node-api and ferric-example with visionOS support
45+
- run: npm run bootstrap --workspace react-native-node-api
46+
- run: npm run bootstrap --workspace @react-native-node-api/ferric-example
47+
env:
48+
CMAKE_RN_TRIPLETS: aarch64-apple-visionos,aarch64-apple-visionos-sim
49+
FERRIC_TARGETS: aarch64-apple-visionos,aarch64-apple-visionos-sim
50+
- run: npm run lint
51+
env:
52+
DEBUG: eslint:eslint

packages/ferric/src/cargo.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ const APPLE_XCFRAMEWORK_CHILDS_PER_TARGET: Record<AppleTargetName, string> = {
2828
// "x86_64-apple-ios-macabi": "ios-x86_64-simulator",
2929
// "aarch64-apple-tvos": "tvos-arm64",
3030
// "aarch64-apple-tvos-sim": "tvos-arm64-simulator",
31-
// "aarch64-apple-visionos": "xros-arm64",
32-
// "aarch64-apple-visionos-sim": "xros-arm64-simulator",
31+
"aarch64-apple-visionos": "xros-arm64",
32+
"aarch64-apple-visionos-sim": "xros-arm64-simulator",
3333
};
3434

3535
const ANDROID_ARCH_PR_TARGET: Record<AndroidTargetName, string> = {

packages/ferric/src/targets.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ export const APPLE_TARGETS = [
2626
/*
2727
"aarch64-apple-tvos",
2828
"aarch64-apple-tvos-sim",
29+
*/
2930
"aarch64-apple-visionos",
3031
"aarch64-apple-visionos-sim",
31-
*/
3232

3333
// "aarch64-apple-watchos",
3434
// "aarch64-apple-watchos-sim",

0 commit comments

Comments
 (0)