fix: build xcframeworks to fix linking issue in Playground App #1782
Workflow file for this run
This file contains 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: 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} |