Skip to content

fix: build xcframeworks to fix linking issue in Playground App #1834

fix: build xcframeworks to fix linking issue in Playground App

fix: build xcframeworks to fix linking issue in Playground App #1834

Workflow file for this run

name: PR Build
on:
pull_request:
branches:
- master
env:
BRN_Version: '0.64'
jobs:
build-android:
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/[email protected]
with:
submodules: 'recursive'
- name: Free space
uses: ./.github/workflows/macos_freespace
- name: Setup Node 16
uses: actions/setup-node@v3
with:
node-version: 16
- name: Setup CMake
uses: jwlawson/[email protected]
with:
cmake-version: '3.26.3'
- name: Setup Ninja
run: brew install ninja
- name: NPM Install (Playground)
run: npm install
working-directory: ./Apps/Playground
- name: NPM Install (React Native ${{ env.BRN_Version }})
run: npm run select ${{ env.BRN_Version }}
working-directory: ./Apps/Playground
- name: NPM Install (Binary Package)
run: npm install
working-directory: ./Package
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
check-latest: true
- name: Gulp (Android)
run: npx gulp buildAndroid
working-directory: ./Package
env:
JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }}
build-android-rnta:
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/[email protected]
with:
submodules: 'recursive'
- name: Free space
uses: ./.github/workflows/macos_freespace
- name: Setup CMake
uses: jwlawson/[email protected]
with:
cmake-version: '3.26.3'
- name: Setup Ninja
run: brew install ninja
- name: Setup Watchman
run: brew install watchman
- name: NPM Install (Playground)
run: npm install
working-directory: ./Apps/BRNPlayground
- name: Build Windows Bundle
run: npm run build:android
working-directory: ./Apps/BRNPlayground
- name: NPM Install (Binary Package)
run: npm install
working-directory: ./Package
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
check-latest: true
- name: Gulp (Android)
run: npx gulp buildAndroidRNTA
working-directory: ./Package
env:
JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }}
build-iOS:
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/[email protected]
with:
submodules: 'recursive'
- name: Free space
uses: ./.github/workflows/macos_freespace
- name: Setup Node 16
uses: actions/setup-node@v3
with:
node-version: 16
- name: NPM Install (Playground)
run: npm install
working-directory: ./Apps/Playground
- name: NPM Install (React Native ${{ env.BRN_Version }})
run: npm run select --reactNative ${{ env.BRN_Version }}
working-directory: ./Apps/Playground
- name: NPM Install (Binary Package)
run: npm install
working-directory: ./Package
- name: Gulp (iOS)
run: npx gulp buildIOS
working-directory: ./Package
build-iOS-rnta:
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/[email protected]
with:
submodules: 'recursive'
- name: Free space
uses: ./.github/workflows/macos_freespace
- name: Setup Watchman
run: brew install watchman
- name: NPM Install (Playground)
run: npm install
working-directory: ./Apps/BRNPlayground
- name: Build iOS Bundle
run: npm run build:ios
working-directory: ./Apps/BRNPlayground
- name: NPM Install (Binary Package)
run: npm install
working-directory: ./Package
- name: Gulp (iOS)
run: npx gulp buildIOSRNTA
working-directory: ./Package
- name: Cache XCFrameworks
uses: actions/cache@v2
with:
path: Modules/@babylonjs/react-native-iosandroid/ios/libs
key: ${{ runner.os }}-xcframeworks-${{ github.sha }}
restore-keys: |
${{ runner.os }}-xcframeworks
test-publish-android-ios:
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/[email protected]
with:
submodules: 'recursive'
- name: Free space
uses: ./.github/workflows/macos_freespace
- name: Setup Node 16
uses: actions/setup-node@v3
with:
node-version: 16
- name: Setup CMake
uses: jwlawson/[email protected]
with:
cmake-version: '3.26.3'
- name: Setup Ninja
run: brew install ninja
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
check-latest: true
- name: NPM Install (Playground)
run: npm install
working-directory: ./Apps/Playground
- name: NPM Install (React Native ${{ env.BRN_Version }})
run: npm run select --reactNative ${{ env.BRN_Version }}
working-directory: ./Apps/Playground
- name: NPM Install (Binary Package)
run: npm install
working-directory: ./Package
- name: Gulp
run: npx gulp
working-directory: ./Package
env:
JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }}
build-windows:
runs-on: windows-2019
strategy:
matrix:
platform: [x86, x64, ARM64]
config: [Debug, Release]
steps:
- name: Support longpaths
run: git config --system core.longpaths true
- name: Checkout Repo
uses: actions/[email protected]
with:
submodules: 'true'
- name: Setup MSBuild
uses: microsoft/[email protected]
- name: Setup Node 16
uses: actions/setup-node@v3
with:
node-version: 16
- name: Setup NuGet
uses: nuget/setup-nuget@v1
with:
nuget-version: '5.x'
- name: NPM Install (Playground)
run: npm install
working-directory: ./Apps/Playground
- name: NPM Install (React Native ${{ env.BRN_Version }})
run: npm run select ${{ env.BRN_Version }}
working-directory: ./Apps/Playground
- name: NPM Install (Binary Package)
run: npm install
working-directory: ./Package
- name: Gulp Setup Project ${{ matrix.platform }} (Windows)
run: npx gulp makeUWPProject${{ matrix.platform }}
working-directory: ./Package
- name: Gulp Build ${{ matrix.platform }} ${{ matrix.config }} (Windows)
run: npx gulp buildUWP${{ matrix.platform }}${{ matrix.config }}
working-directory: ./Package
- name: Gulp NuGet Restore Playground
run: npx gulp nugetRestoreUWPPlayground
working-directory: ./Package
- name: Gulp Build ${{ matrix.platform }} ${{ matrix.config }} Playground (Windows)
run: npx gulp buildUWPPlayground${{ matrix.platform }}${{ matrix.config }}
working-directory: ./Package
build-windows-rnta:
runs-on: windows-2019
steps:
- name: Support longpaths
run: git config --system core.longpaths true
- name: Checkout Repo
uses: actions/[email protected]
with:
submodules: 'true'
- name: Setup MSBuild
uses: microsoft/[email protected]
- name: Setup Node 20
uses: actions/setup-node@v3
with:
node-version: 20
- name: Install watchman
run: choco install watchman
working-directory: ./Apps/BRNPlayground
- name: NPM Install RNTA
run: npm install
working-directory: ./Apps/BRNPlayground
- name: Build Windows Bundle
run: npm run build:windows
working-directory: ./Apps/BRNPlayground
- name: NPM Install Package
run: npm install
working-directory: ./Package
- name: NPM Generate Windows Project
run: npx install-windows-test-app
working-directory: ./Apps/BRNPlayground
- name: BabylonNative build directory
run: mkdir @babylonjs/react-native/Build/uwp_x64
working-directory: ./Modules
- name: CMake BabylonNative
run: cmake -G "Visual Studio 16 2019" -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A x64 ./../../../react-native-windows/windows
working-directory: ./Modules/@babylonjs/react-native/Build/uwp_x64
- name: Nuget restore
run: nuget restore BRNPlayground.sln
working-directory: ./Apps/BRNPlayground/windows
- name: Windows build BN
run: MSBuild /p:Platform="x64" /p:Configuration="Release" /m ReactNativeBabylon.sln
working-directory: ./Modules/@babylonjs/react-native/Build/uwp_x64
- name: Windows build BRN
run: MSBuild /p:Platform="x64" /p:Configuration="Release" /m BRNPlayground.sln
working-directory: ./Apps/BRNPlayground/windows
# Test packages
build-android-ios-065:
uses: ./.github/workflows/ios_android.yml
with:
react-native-version: '0.65'
release-version: 0.0.${GITHUB_SHA::8}
build-android-ios-069:
uses: ./.github/workflows/ios_android.yml
with:
react-native-version: '0.69'
release-version: 0.0.${GITHUB_SHA::8}
build-android-ios-070:
uses: ./.github/workflows/ios_android.yml
with:
react-native-version: '0.70'
release-version: 0.0.${GITHUB_SHA::8}
build-android-ios-071:
uses: ./.github/workflows/ios_android.yml
with:
react-native-version: '0.71'
release-version: 0.0.${GITHUB_SHA::8}
build-windows-065:
uses: ./.github/workflows/windows.yml
with:
react-native-version: '0.65'
release-version: 0.0.${GITHUB_SHA::8}
build-windows-069:
uses: ./.github/workflows/windows.yml
with:
react-native-version: '0.69'
release-version: 0.0.${GITHUB_SHA::8}
build-windows-070:
uses: ./.github/workflows/windows.yml
with:
react-native-version: '0.70'
release-version: 0.0.${GITHUB_SHA::8}
build-windows-071:
uses: ./.github/workflows/windows.yml
with:
react-native-version: '0.71'
release-version: 0.0.${GITHUB_SHA::8}
build-typescript:
uses: ./.github/workflows/typescript.yml
with:
release-version: 0.0.${GITHUB_SHA::8}