-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build system with RNTA for RN 0.73+ #647
Draft
CedricGuillemet
wants to merge
82
commits into
BabylonJS:master
Choose a base branch
from
CedricGuillemet:rnta071
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 2 commits
Commits
Show all changes
82 commits
Select commit
Hold shift + click to select a range
c066ea4
Use patch to select RN version for RNTA
CedricGuillemet bb75074
add ios
CedricGuillemet 5efe8f2
set-react-version script
CedricGuillemet c2a0247
RN 0.69-0.71
CedricGuillemet 725ea54
test w/o pod install
CedricGuillemet 6761cbd
remove tag names set version script
CedricGuillemet 9d71cd9
Merge branch 'master' of https://github.com/babylonjs/BabylonReactNat…
CedricGuillemet 2f17578
test with ios only
CedricGuillemet 2f53084
0.71 as minimum
CedricGuillemet 806c8da
more recent RN versions
CedricGuillemet ffbd303
build and publish test RNTA
CedricGuillemet 6acfccf
download-artifact@v4
CedricGuillemet 4b5a423
windows build
CedricGuillemet e1576d4
windows working folder
CedricGuillemet fdfe889
pr working dir
CedricGuillemet f1fee7b
more on windows paths
CedricGuillemet 11e6034
even more on paths
CedricGuillemet b47df5b
paths
CedricGuillemet d4b4543
ternary op for x86/win32
CedricGuillemet 6bd89e3
msbuild platform
CedricGuillemet 5931a52
windows paths
CedricGuillemet d08bdc9
removed windows x86
CedricGuillemet 6638b22
refactor ios/android to be more parallel
CedricGuillemet 36d856f
missing validateAssemblediOSAndroid
CedricGuillemet c07cedf
missing android files
CedricGuillemet 8a800c1
assembled path
CedricGuillemet fa15388
test with disabled freespace
CedricGuillemet 0bd78c7
is node 20 needed?
CedricGuillemet 1a76133
no node20, node RN version select
CedricGuillemet 5f268ef
revert default package.json
CedricGuillemet d9e93f3
windows successful build repro
CedricGuillemet b251ae7
msbuild action
CedricGuillemet 0aa93e4
removed x86
CedricGuillemet dae9b8f
RN variations
CedricGuillemet a0f8e28
issue with windows patch
CedricGuillemet dd380b8
copy windows files
CedricGuillemet 586d24b
windows cmake parameters
CedricGuillemet f130723
Update pr.yml
CedricGuillemet f374b87
Update gulpfile.js
CedricGuillemet 448ff38
windows assembly, ios/android artifacts
CedricGuillemet 96cca9e
Merge branch 'rnta071' of https://github.com/CedricGuillemet/BabylonR…
CedricGuillemet 0fcea78
ios/android artifact name, display structure of builds
CedricGuillemet 6b82f62
windows artifact path
CedricGuillemet 989faf5
up version of action
CedricGuillemet cf5ee2b
x86 test, basekit windows
CedricGuillemet 4c58038
base kit windows
CedricGuillemet 3030921
less windows library in vcxproj
CedricGuillemet f244411
Update pr.yml
CedricGuillemet ecb8cba
basekit publishing, windows testing artifacts
CedricGuillemet 7c07b62
Merge branch 'rnta071' of https://github.com/CedricGuillemet/BabylonR…
CedricGuillemet 6a5f52c
basekit windows
CedricGuillemet 4cefb26
path for basekit assembled
CedricGuillemet 98b1a2b
based kit again
CedricGuillemet d7a395a
typo copy files
CedricGuillemet 4ff9b75
android apk
CedricGuillemet 2af8f6a
android artifacts
CedricGuillemet 3d46829
apk name fix
CedricGuillemet 5c905a5
apk
CedricGuillemet 0350cd1
ios RNTA app
CedricGuillemet 335c8b6
0.75
CedricGuillemet 931d8dc
Merge branch 'master' of https://github.com/babylonjs/BabylonReactNat…
CedricGuillemet f9854d1
removed commented code
CedricGuillemet a26fe4d
RN 0.75 dependency issue with windows
CedricGuillemet 4e36662
buildRNTAios
CedricGuillemet bbc08cb
0.73 only
CedricGuillemet 0c1468e
android files
CedricGuillemet ade0ede
commented post install ios
CedricGuillemet 4213ffc
arkit source path fix
CedricGuillemet 4882c2b
IXrContextARCore.h copy
CedricGuillemet d197b67
copy doesn't happen
CedricGuillemet 6675442
validate
CedricGuillemet 9b15b25
0.74
CedricGuillemet bf41ecc
bump rnta
CedricGuillemet c5378cc
windows 2022
CedricGuillemet a579692
missed cmake
CedricGuillemet 3153eee
install windows sdk 10.0.18362.0
CedricGuillemet 5230aae
test with rnpermissions vcxproj patched
CedricGuillemet 56135ef
with pwshl
CedricGuillemet 4d7b28b
windows sdk 10.0.22621.0
CedricGuillemet e539d2f
test removing sdk version parameter
CedricGuillemet 78cc5cc
sdk version
CedricGuillemet ddb9d92
system version
CedricGuillemet File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,51 +7,15 @@ env: | |
BRN_Version: '0.64' | ||
|
||
jobs: | ||
build-android: | ||
runs-on: macos-latest | ||
steps: | ||
- name: Checkout Repo | ||
uses: actions/[email protected] | ||
with: | ||
submodules: 'recursive' | ||
- 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 | ||
strategy: | ||
matrix: | ||
platform: [ios, android] | ||
react-native-version: ['0.71', '0.73'] | ||
steps: | ||
- name: Checkout Repo | ||
uses: actions/[email protected] | ||
with: | ||
submodules: 'recursive' | ||
- name: Setup CMake | ||
uses: jwlawson/[email protected] | ||
with: | ||
|
@@ -60,267 +24,29 @@ jobs: | |
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: 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: Setup Watchman | ||
run: brew install watchman | ||
|
||
- name: NPM Install (Playground) | ||
- name: Patch BRNPlayground for RN ${{ matrix.react-native-version }} | ||
run: git apply rnta-${{ matrix.react-native-version }}.patch --allow-empty | ||
working-directory: ./Apps | ||
- name: NPM Install (BRNPlayground) | ||
run: npm install | ||
working-directory: ./Apps/BRNPlayground | ||
|
||
- name: Build Windows Bundle | ||
run: npm run build:ios | ||
run: npm run build:${{ matrix.platform }} | ||
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: | ||
- name: Checkout Repo | ||
uses: actions/[email protected] | ||
with: | ||
submodules: 'recursive' | ||
- 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 | ||
- name: Gulp ${{ matrix.platform }} | ||
run: npx gulp build${{ matrix.platform }}RNTA | ||
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} | ||
|
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we do this as part of a script that is easy to run locally? Like the
npm run select 0.71
we currently have?