Revert visionOS changes and provide Copilot instruction improvements #17
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Check visionOS | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test-visionos: | |
| name: Test Ferric with visionOS Triplets | |
| runs-on: macos-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: lts/jod | |
| # Install nightly Rust for -Zbuild-std support (required for tier 3 visionOS targets) | |
| - name: Install Rust nightly with visionOS source | |
| run: | | |
| rustup toolchain install nightly --component rust-src | |
| rustup default nightly | |
| # Set up Xcode and visionOS SDK (required for visionOS compilation) | |
| - name: Setup Xcode and verify visionOS SDK | |
| run: | | |
| sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer | |
| # Verify visionOS SDK is available | |
| if xcrun --sdk xros --show-sdk-path; then | |
| echo "visionOS SDK found at: $(xcrun --sdk xros --show-sdk-path)" | |
| else | |
| echo "⚠️ visionOS SDK not found - may need Xcode 15+ with visionOS support" | |
| fi | |
| # Install required iOS targets for the bootstrap process | |
| - run: rustup target add aarch64-apple-ios-sim | |
| - run: npm ci | |
| - run: npm run build | |
| # Bootstrap host package to get weak-node-api and ferric-example with visionOS support | |
| - run: npm run bootstrap --workspace react-native-node-api | |
| env: | |
| CMAKE_RN_TRIPLETS: aarch64-apple-visionos,aarch64-apple-visionos-sim | |
| - name: Configure Cargo for visionOS tier 3 targets with build-std | |
| run: | | |
| # Create cargo config for build-std support (tier 3 visionOS targets) | |
| # Per official docs: build-std requires nightly Cargo + rustc + rust-src component | |
| mkdir -p packages/ferric-example/.cargo | |
| cat > packages/ferric-example/.cargo/config.toml << 'EOF' | |
| [unstable] | |
| build-std = ["std", "panic_abort"] | |
| [build] | |
| target = ["aarch64-apple-visionos", "aarch64-apple-visionos-sim"] | |
| [target.aarch64-apple-visionos] | |
| linker = "clang" | |
| [target.aarch64-apple-visionos-sim] | |
| linker = "clang" | |
| EOF | |
| # Verify cargo config is properly set | |
| echo "Cargo config created:" | |
| cat packages/ferric-example/.cargo/config.toml | |
| - name: Verify build-std setup and bootstrap ferric-example | |
| run: | | |
| # Verify nightly toolchain and components | |
| echo "=== Rust Toolchain Info ===" | |
| rustc --version | |
| cargo --version | |
| rustup component list --installed --toolchain nightly | |
| echo "=== Testing visionOS SDK availability ===" | |
| xcrun --sdk xros --show-sdk-path || echo "visionOS SDK not available - continuing anyway" | |
| echo "=== Bootstrapping ferric-example with visionOS targets ===" | |
| cd packages/ferric-example | |
| ls -la .cargo/ || echo "No .cargo dir found" | |
| cat .cargo/config.toml || echo "No config found" | |
| cd ../.. | |
| # Bootstrap ferric-example with visionOS targets | |
| npm run bootstrap --workspace @react-native-node-api/ferric-example | |
| env: | |
| CMAKE_RN_TRIPLETS: aarch64-apple-visionos,aarch64-apple-visionos-sim | |
| FERRIC_TARGETS: aarch64-apple-visionos,aarch64-apple-visionos-sim | |
| # visionOS SDK configuration | |
| XROS_DEPLOYMENT_TARGET: "1.0" |