Skip to content

Commit c17407f

Browse files
C. M. Barthrgerd
C. M. Barth
andauthored
Add github action to run when BabylonNative is updated (#207)
* add some different definitions * change checkout process and steps * update gulp file * update job Co-authored-by: rgerd <[email protected]>
1 parent 6be9804 commit c17407f

File tree

2 files changed

+114
-0
lines changed

2 files changed

+114
-0
lines changed
+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: BabylonNative master branch update
2+
3+
on:
4+
repository_dispatch:
5+
types: [babylonnative-master-update]
6+
7+
jobs:
8+
build-android:
9+
runs-on: macos-latest
10+
steps:
11+
- name: Checkout Repo
12+
uses: actions/[email protected]
13+
with:
14+
submodules: 'recursive'
15+
- name: Setup CMake
16+
uses: jwlawson/[email protected]
17+
with:
18+
cmake-version: '3.19.6' # See https://gitlab.kitware.com/cmake/cmake/-/issues/22021
19+
- name: Setup Ninja
20+
run: brew install ninja
21+
- name: NPM Install (Playground)
22+
run: npm install
23+
working-directory: ./Apps/Playground
24+
- name: NPM Install (Binary Package)
25+
run: npm install
26+
working-directory: ./Package
27+
- name: Git (Update to BabylonNative master)
28+
run: npx gulp initializeSubmodulesMostRecentBabylonNative
29+
working-directory: ./Package
30+
- name: Gulp (Android)
31+
run: npx gulp buildAndroid
32+
working-directory: ./Package
33+
34+
build-iOS:
35+
runs-on: macos-latest
36+
steps:
37+
- name: Checkout Repo
38+
uses: actions/[email protected]
39+
with:
40+
submodules: 'recursive'
41+
- name: NPM Install (Playground)
42+
run: npm install
43+
working-directory: ./Apps/Playground
44+
- name: NPM Install (Binary Package)
45+
run: npm install
46+
working-directory: ./Package
47+
- name: Git (Update to BabylonNative master)
48+
run: npx gulp initializeSubmodulesMostRecentBabylonNative
49+
working-directory: ./Package
50+
- name: Gulp (iOS)
51+
run: npx gulp buildIOS
52+
working-directory: ./Package
53+
54+
build-windows:
55+
runs-on: windows-latest
56+
strategy:
57+
matrix:
58+
platform: [x86, x64, ARM, ARM64]
59+
config: [Debug, Release]
60+
steps:
61+
- name: Checkout Repo
62+
uses: actions/[email protected]
63+
with:
64+
submodules: 'true'
65+
- name: Setup MSBuild
66+
uses: microsoft/[email protected]
67+
- name: Setup NuGet
68+
uses: nuget/setup-nuget@v1
69+
with:
70+
nuget-version: '5.x'
71+
- name: NPM Install (Playground)
72+
run: npm install
73+
working-directory: ./Apps/Playground
74+
- name: NPM Install (Binary Package)
75+
run: npm install
76+
working-directory: ./Package
77+
- name: Git (Update to BabylonNative master)
78+
run: npx gulp initializeSubmodulesMostRecentBabylonNativeWindowsAgent
79+
working-directory: ./Package
80+
- name: Gulp Setup Project ${{ matrix.platform }} (Windows)
81+
run: npx gulp makeUWPProject${{ matrix.platform }}
82+
working-directory: ./Package
83+
- name: Gulp Build ${{ matrix.platform }} ${{ matrix.config }} (Windows)
84+
run: npx gulp buildUWP${{ matrix.platform }}${{ matrix.config }}
85+
working-directory: ./Package
86+
- name: Gulp NuGet Restore Playground
87+
run: npx gulp nugetRestoreUWPPlayground
88+
working-directory: ./Package
89+
- name: Gulp Build ${{ matrix.platform }} ${{ matrix.config }} Playground (Windows)
90+
run: npx gulp buildUWPPlayground${{ matrix.platform }}${{ matrix.config }}
91+
working-directory: ./Package

Package/gulpfile.js

+23
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,26 @@ const initializeSubmodulesWindowsAgent = async () => {
5252
exec('git -c submodule."Dependencies/xr/Dependencies/arcore-android-sdk".update=none submodule update --init --recursive "./../Modules/@babylonjs/react-native/submodules/BabylonNative');
5353
}
5454

55+
const initializeSubmodulesMostRecentBabylonNative = async () => {
56+
exec('git submodule init ./../Modules/@babylonjs/react-native/submodules/BabylonNative');
57+
exec('git fetch origin master', './../Modules/@babylonjs/react-native/submodules/BabylonNative');
58+
exec('git checkout origin/master', './../Modules/@babylonjs/react-native/submodules/BabylonNative');
59+
exec('git rev-parse HEAD', './../Modules/@babylonjs/react-native/submodules/BabylonNative');
60+
exec('git submodule update --init --recursive *', './../Modules/@babylonjs/react-native/submodules/BabylonNative');
61+
exec('git rev-parse HEAD', './../Modules/@babylonjs/react-native/submodules/BabylonNative');
62+
}
63+
64+
const initializeSubmodulesMostRecentBabylonNativeWindowsAgent = async () => {
65+
exec('git submodule init ./../Modules/@babylonjs/react-native/submodules/BabylonNative');
66+
exec('git fetch origin master', './../Modules/@babylonjs/react-native/submodules/BabylonNative');
67+
exec('git checkout origin/master', './../Modules/@babylonjs/react-native/submodules/BabylonNative');
68+
exec('git add ./../Modules/@babylonjs/react-native/submodules/BabylonNative');
69+
exec('git commit -m "update to master"');
70+
exec('git rev-parse HEAD', './../Modules/@babylonjs/react-native/submodules/BabylonNative');
71+
exec('git -c submodule."Dependencies/xr/Dependencies/arcore-android-sdk".update=none submodule update --init --recursive "./../Modules/@babylonjs/react-native/submodules/BabylonNative');
72+
exec('git rev-parse HEAD', './../Modules/@babylonjs/react-native/submodules/BabylonNative');
73+
}
74+
5575
const makeUWPProjectx86 = async () => {
5676
shelljs.mkdir('-p', './../Modules/@babylonjs/react-native/Build/uwp_x86');
5777
exec('cmake -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0 -D NAPI_JAVASCRIPT_ENGINE=JSI -A Win32 ./../../../react-native-windows/windows', './../Modules/@babylonjs/react-native/Build/uwp_x86');
@@ -499,4 +519,7 @@ exports.copyUWPFiles = copyUWPFiles;
499519
exports.packUWP = packUWP;
500520
exports.packUWPNoBuild = packUWPNoBuild;
501521

522+
exports.initializeSubmodulesMostRecentBabylonNative = initializeSubmodulesMostRecentBabylonNative;
523+
exports.initializeSubmodulesMostRecentBabylonNativeWindowsAgent = initializeSubmodulesMostRecentBabylonNativeWindowsAgent;
524+
502525
exports.default = build;

0 commit comments

Comments
 (0)