Skip to content

Commit 7da043c

Browse files
Copilotkraenhansen
andcommitted
Enhance visionOS workflow with comprehensive build-std configuration based on official Rust documentation
Co-authored-by: kraenhansen <1243959+kraenhansen@users.noreply.github.com>
1 parent 598835e commit 7da043c

File tree

1 file changed

+31
-6
lines changed

1 file changed

+31
-6
lines changed

.github/workflows/check-visionos.yml

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,24 +43,49 @@ jobs:
4343
- run: npm run build
4444
# Bootstrap host package to get weak-node-api and ferric-example with visionOS support
4545
- run: npm run bootstrap --workspace react-native-node-api
46-
- name: Configure Cargo for visionOS tier 3 targets
46+
- name: Configure Cargo for visionOS tier 3 targets with build-std
4747
run: |
48-
# Create cargo config to enable -Zbuild-std for tier 3 targets
48+
# Create cargo config for build-std support (tier 3 visionOS targets)
49+
# Per official docs: build-std requires nightly Cargo + rustc + rust-src component
4950
mkdir -p packages/ferric-example/.cargo
5051
cat > packages/ferric-example/.cargo/config.toml << 'EOF'
5152
[unstable]
5253
build-std = ["std", "panic_abort"]
5354
55+
[build]
56+
target = ["aarch64-apple-visionos", "aarch64-apple-visionos-sim"]
57+
5458
[target.aarch64-apple-visionos]
5559
linker = "clang"
5660
57-
[target.aarch64-apple-visionos-sim]
61+
[target.aarch64-apple-visionos-sim]
5862
linker = "clang"
5963
EOF
60-
- name: Bootstrap ferric-example with visionOS targets
61-
run: npm run bootstrap --workspace @react-native-node-api/ferric-example
64+
65+
# Verify cargo config is properly set
66+
echo "Cargo config created:"
67+
cat packages/ferric-example/.cargo/config.toml
68+
- name: Verify build-std setup and bootstrap ferric-example
69+
run: |
70+
# Verify nightly toolchain and components
71+
echo "=== Rust Toolchain Info ==="
72+
rustc --version
73+
cargo --version
74+
rustup component list --installed --toolchain nightly
75+
76+
echo "=== Testing visionOS SDK availability ==="
77+
xcrun --sdk xros --show-sdk-path || echo "visionOS SDK not available - continuing anyway"
78+
79+
echo "=== Bootstrapping ferric-example with visionOS targets ==="
80+
cd packages/ferric-example
81+
ls -la .cargo/ || echo "No .cargo dir found"
82+
cat .cargo/config.toml || echo "No config found"
83+
cd ../..
84+
85+
# Bootstrap ferric-example with visionOS targets
86+
npm run bootstrap --workspace @react-native-node-api/ferric-example
6287
env:
6388
CMAKE_RN_TRIPLETS: aarch64-apple-visionos,aarch64-apple-visionos-sim
6489
FERRIC_TARGETS: aarch64-apple-visionos,aarch64-apple-visionos-sim
65-
# Set visionOS SDK environment variables
90+
# visionOS SDK configuration
6691
XROS_DEPLOYMENT_TARGET: "1.0"

0 commit comments

Comments
 (0)