Skip to content

New NPM

New NPM #2032

Workflow file for this run

name: PR Build
on:
pull_request:
branches:
- master
jobs:
build-android:
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4.2.2
- name: NPM Install (Binary Package)
run: npm install
working-directory: ./Package
- name: Build BabylonNative source tree
run: npx gulp buildBabylonNativeSourceTree
working-directory: ./Package
- name: NPM Install (Playground)
run: npm install
working-directory: ./Apps/Playground
# - name: Build Android Bundle
# run: npm run build:android
# working-directory: ./Apps/Playground
- name: Gulp (Android)
run: npx gulp buildAndroid
working-directory: ./Package
build-iOS:
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4.2.2
- name: NPM Install (Binary Package)
run: npm install
working-directory: ./Package
- name: Build BabylonNative source tree
run: npx gulp buildBabylonNativeSourceTree
working-directory: ./Package
- name: NPM Install (Playground)
run: npm install
working-directory: ./Apps/Playground
- name: Clean and Install Pods
run: |
cd ios
rm -rf Pods Podfile.lock
pod install
working-directory: ./Apps/Playground
# - name: Build iOS Bundle
# run: npm run build:ios
# working-directory: ./Apps/Playground
- name: Gulp (iOS)
run: npx gulp buildIOS
working-directory: ./Package
build-windows:
runs-on: windows-latest
continue-on-error: true
steps:
- name: Support longpaths
run: git config --system core.longpaths true
- name: Checkout Repo
uses: actions/checkout@v4.2.2
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
- name: Install watchman
run: choco install watchman
working-directory: ./Apps/Playground
- name: NPM Install (Binary Package)
run: npm install
working-directory: ./Package
- name: Build BabylonNative source tree
run: npx gulp buildBabylonNativeSourceTree
working-directory: ./Package
- name: NPM Install (Playground)
run: |
Copy-Item -Path "package-windows.json" -Destination "package.json" -Force
Copy-Item -Path "package-lock-windows.json" -Destination "package-lock.json" -Force
npm install
working-directory: ./Apps/Playground
# Windows development version need a bundle to be built
# building bundle consists in running tsc in package, copy needed files in modules and running bundling command
- name: Install Module
run: npm install
working-directory: ./Modules/@babylonjs/react-native
- name: Build Type script
run: |
npx gulp buildTypeScript
Copy-Item -Path ../Package/Assembled/* -Destination ../Modules/@babylonjs/react-native -Recurse -Force
working-directory: ./Package
# - name: Build Windows Bundle
# run: npm run build:windows
# working-directory: ./Apps/Playground
# Bundle ready, now we can build the project
- name: NPM Generate Windows Project
run: npx install-windows-test-app
working-directory: ./Apps/Playground
- name: Nuget restore
run: nuget restore Playground.sln
working-directory: ./Apps/Playground/windows
- name: Windows build Playground
run: MSBuild /p:Platform="x64" /p:Configuration="Release" /m Playground.sln /v:detailed
working-directory: ./Apps/Playground/windows
build-typescript:
uses: ./.github/workflows/typescript.yml
with:
release-version: 0.0.${GITHUB_SHA::8}
package:
needs: [build-typescript] #, build-iOS, build-android]
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4.2.2
- 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: Publish Package dry run
run: |
npm publish --access public --dry-run
npm pack
working-directory: ./Package/Assembled
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Upload .tgz tarball
uses: actions/upload-artifact@v4
with:
name: BabylonReactNative
path: "./Package/Assembled/*.tgz"