Skip to content

Commit

Permalink
RNTA + CI (#642)
Browse files Browse the repository at this point in the history
* baseline: adding RNTA vanilla, it works

* wire in the babylon stuff

* a couple of temp files

* minor cleanup, bump to latest 73 and RNTA

* add a quick readme

* Update Apps/BRNPlayground/macos/Podfile

Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>

* Update Apps/BRNPlayground/postinstall.js

Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>

* Update Apps/BRNPlayground/.gitignore

Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>

* get CMake to build

* add xcworkspace

* bump to latest RN and RNTA

* RNTA + CI

* npm install

* java 17 instead of 21(default) because of this issue:
 jdk.tools.jlink.plugin.PluginException: ModuleTarget is malformed: platformString missing delimiter: android

* Windows build

* npm install package

* msbuild typo

* more windows build steps

* build steps in CI

* path typo

* nuget restore

* BN build

* vcxproj paths

* x86

* back to x64

* test w/o  --use-nuget

* patch rnpermissions vcxproj

* back with use-nuget

* permissions vcxproj

* vcxproj

* packages.config

* cppwinrt

* merge .sln

* do not build bundle

* props test

* import path

* props path again

* put back libs in

* cppwinrt

* cmake import props

* project imports

* windows sdk props

* windows sdk version

* bump rn permissions

* cleaning

* bundle build

* ios/android builds

* windows build debug

* nuget

* nuget

* metro config test

* watchman

* choco watchman

* is this useful?

* up rnta

* artifact test

* ios/android

* build output dir

* clean up

* build windows

* build fixes

* windows build/cppwinrt

* kick build

---------

Co-authored-by: Lorenzo Sciandra <lsciandra@microsoft.com>
Co-authored-by: Lorenzo Sciandra <lorenzo.sciandra@gmail.com>
Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>
  • Loading branch information
4 people authored May 24, 2024
1 parent 17b16ca commit 949bbe1
Show file tree
Hide file tree
Showing 7 changed files with 1,750 additions and 2,337 deletions.
121 changes: 120 additions & 1 deletion .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,44 @@ jobs:
env:
JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }}

build-android-rnta:
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v2.3.3
with:
submodules: 'recursive'
- name: Setup CMake
uses: jwlawson/actions-setup-cmake@v1.8
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:
Expand All @@ -69,6 +107,31 @@ jobs:
run: npx gulp buildIOS
working-directory: ./Package

build-iOS-rnta:
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v2.3.3
with:
submodules: 'recursive'
- 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: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

test-publish-android-ios:
runs-on: macos-latest
steps:
Expand Down Expand Up @@ -152,6 +215,62 @@ jobs:
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/checkout@v2.3.3
with:
submodules: 'true'
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v1.0.2
- 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
Expand Down Expand Up @@ -204,4 +323,4 @@ jobs:
build-typescript:
uses: ./.github/workflows/typescript.yml
with:
release-version: 0.0.${GITHUB_SHA::8}
release-version: 0.0.${GITHUB_SHA::8}
Loading

0 comments on commit 949bbe1

Please sign in to comment.