New NPM #2031
Workflow file for this run
This file contains hidden or 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
| 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" |