Skip to content

Build system with RNTA for RN 0.73+ #1812

Build system with RNTA for RN 0.73+

Build system with RNTA for RN 0.73+ #1812

Workflow file for this run

name: PR Build
on:
pull_request:
branches:
- master
jobs:
# build-ios-android-rnta:
# runs-on: macos-latest
# strategy:
# matrix:
# platform: [ios, android]
# react-native-version: ['0.73', '0.74']
# steps:
# - name: Checkout Repo
# uses: actions/[email protected]
# - 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: Free space
# uses: ./.github/workflows/macos_freespace
# - name: Set React-Native version ${{ matrix.react-native-version }}
# run: npm run set-react-version -- ${{ matrix.react-native-version }}
# working-directory: ./Apps/BRNPlayground
# - name: NPM Install (BRNPlayground)
# run: npm install
# working-directory: ./Apps/BRNPlayground
#
# - name: Build Bundle
# run: npm run build:${{ matrix.platform }}
# 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 ${{ matrix.platform }}
# run: npx gulp build${{ matrix.platform }}RNTA
# working-directory: ./Package
# env:
# JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }}
# android-ios-rnta:
# runs-on: macos-latest
# strategy:
# matrix:
# react-native-version: ['0.73', '0.74']
# platform: ['android', 'ios']
# steps:
# - name: Checkout Repo
# uses: actions/[email protected]
# - 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: Free space
## uses: ./.github/workflows/macos_freespace
# - name: Set React-Native version ${{ matrix.react-native-version }}
# run: npm run set-react-version -- ${{ matrix.react-native-version }}
# working-directory: ./Apps/BRNPlayground
# - name: NPM Install (BRNPlayground)
# run: npm install
# working-directory: ./Apps/BRNPlayground
# - name: Build Bundle ${{ matrix.platform }}
# run: npm run build:${{ matrix.platform }}
# 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 build ${{ matrix.platform }}
# run: npx gulp buildRNTA${{ matrix.platform }}
# working-directory: ./Package
# env:
# JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }}
# - name: Upload Assembled ${{ matrix.platform }} Folder
# uses: actions/upload-artifact@v4
# with:
# name: 'Assembled-${{ matrix.platform }}${{ matrix.react-native-version }}'
# path: Package/Assembled-iOSAndroid
# - name: Upload Assembled ${{ matrix.platform }} BaseKit Folder
# uses: actions/upload-artifact@v4
# with:
# name: 'Assembled-BaseKit-${{ matrix.platform }}${{ matrix.react-native-version }}'
# path: Package/Assembled-BaseKit-iOSAndroid
#
# build-typescript:
# uses: ./.github/workflows/typescript.yml
# with:
# release-version: 0.0.${GITHUB_SHA::8}
windows-rnta:
runs-on: windows-2019
strategy:
matrix:
platform: [x64, ARM64]
config: [Debug, Release]
react-native-version: ['0.73', '0.74']
basekit: [''] #['', 'BaseKit']
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: Set React-Native version ${{ matrix.react-native-version }}
# run: npm run set-react-version -- ${{ matrix.react-native-version }}
# 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_${{ matrix.platform }}
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 ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == 'BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows
working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }}
- name: Nuget restore
run: nuget restore BRNPlayground.sln
working-directory: ./Apps/BRNPlayground/windows
- name: Windows build BN ${{ matrix.platform }} ${{ matrix.config }}
run: MSBuild /p:Platform="${{ matrix.platform == 'x86' && 'win32' || matrix.platform}}" /p:Configuration="${{ matrix.config }}" /m ReactNativeBabylon.sln
working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }}
- name: Windows build BRN ${{ matrix.platform }} ${{ matrix.config }}
run: MSBuild /p:Platform="${{ matrix.platform == 'x86' && 'win32' || matrix.platform}}" /p:Configuration="${{ matrix.config }}" /m BRNPlayground.sln
working-directory: ./Apps/BRNPlayground/windows
- name: Gulp build ${{ matrix.platform }}
run: npx gulp package${{ matrix.platform }}${{ matrix.config }}${{ matrix.basekit }}RNTA
working-directory: ./Package
- name: Upload Assembled ${{ matrix.platform }} Folder
uses: actions/upload-artifact@v4
with:
name: 'Assembled-${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}'
path: Package/Assembled-${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}
# publish-react-native:
# needs: [build-typescript, android-ios-rnta]
# runs-on: macos-latest
# strategy:
# matrix:
# react-native-version: ['0.73', '0.74']
# steps:
# - name: Checkout Repo
# uses: actions/[email protected]
# - name: NPM Install (Binary Package)
# run: npm install
# working-directory: ./Package
# - name: Download Assembled Folder
# uses: actions/download-artifact@v4
# with:
# name: 'Assembled'
# path: Package/Assembled
# - name: Display structure of downloaded Assembled and Assembled-Windows folders
# run: ls -R
# - name: Version & Publish Package @babylonjs/react-native
# run: |
# npm version --no-git-tag-version 10.0.0
# npm publish --access public --dry-run
# working-directory: ./Package/Assembled
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
#
# publish-android-ios:
# needs: [build-typescript, android-ios-rnta]
# runs-on: macos-latest
# strategy:
# matrix:
# react-native-version: ['0.73', '0.74']
# basekit: ['', '-BaseKit']
# steps:
# - name: Checkout Repo
# uses: actions/[email protected]
# - name: NPM Install (Binary Package)
# run: npm install
# working-directory: ./Package
# - name: Download Assembled${{ matrix.basekit }}-android ${{ matrix.react-native-version }} Folder
# uses: actions/download-artifact@v4
# with:
# name: 'Assembled${{ matrix.basekit }}-android${{ matrix.react-native-version }}'
# path: Package/Assembled
# merge-multiple: true
# - name: Download Assembled${{ matrix.basekit }}-ios ${{ matrix.react-native-version }} Folder
# uses: actions/download-artifact@v4
# with:
# name: 'Assembled${{ matrix.basekit }}-ios${{ matrix.react-native-version }}'
# path: Package/Assembled
# merge-multiple: true
# - name: Display structure of downloaded Assembled and Assembled-Windows folders
# run: ls -R
# - name: Version & Publish Package @babylonjs/react-native${{ matrix.basekit }}-iosandroid
# run: |
# npm version --no-git-tag-version 10.0.0
# npm publish --access public --dry-run
# working-directory: ./Package/Assembled
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}