Merge pull request #276 from REChain-Network-Solutions/dependabot/npm… #574
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: Multi-Platform Builds | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| jobs: | |
| build-web: | |
| name: Build Web | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build for web | |
| run: npm run build:web | |
| - name: Upload web build artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: web-build | |
| path: dist/ | |
| build-ios: | |
| name: Build iOS | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build for iOS | |
| run: npm run build:ios | |
| - name: Upload iOS build artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: ios-build | |
| path: dist-ios/ | |
| build-macos: | |
| name: Build macOS | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build for macOS | |
| run: npm run build:macos | |
| - name: Upload macOS build artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: macos-build | |
| path: builds/macos/ | |
| build-windows: | |
| name: Build Windows | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build for Windows | |
| run: npm run build:windows | |
| - name: Upload Windows build artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: windows-build | |
| path: builds/windows/ | |
| build-linux: | |
| name: Build Linux | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build for Linux | |
| run: npm run build:linux | |
| - name: Upload Linux build artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: linux-build | |
| path: builds/linux/ | |
| build-winuwp: | |
| name: Build WinUWP | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build for WinUWP | |
| run: npm run build:winuwp | |
| - name: Upload WinUWP build artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: winuwp-build | |
| path: dist-winuwp/ | |
| build-android: | |
| name: Build Android | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Setup Java | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build for Android | |
| run: npm run build:android | |
| - name: Upload Android build artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: android-build | |
| path: platforms/android/build/ | |
| build-tizen: | |
| name: Build Tizen | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install Tizen CLI | |
| run: npm install -g tizen-cli | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build for Tizen | |
| run: npm run build:tizen | |
| - name: Upload Tizen build artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: tizen-build | |
| path: platforms/tizen/build/ | |
| build-flutter: | |
| name: Build Flutter | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Flutter | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| channel: 'stable' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build for Flutter | |
| run: npm run build:flutter | |
| - name: Upload Flutter build artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: flutter-build | |
| path: platforms/flutter/build/ | |
| build-tvos: | |
| name: Build tvOS | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build for tvOS | |
| run: npm run build:tvos | |
| - name: Upload tvOS build artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: tvos-build | |
| path: platforms/tvos/build/ | |
| build-aurora: | |
| name: Build Aurora | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build for Aurora | |
| run: npm run build:aurora | |
| - name: Upload Aurora build artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: aurora-build | |
| path: dist-aurora/ | |
| build-harmonyos: | |
| name: Build HarmonyOS | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build for HarmonyOS | |
| run: npm run build:harmonyos | |
| - name: Upload HarmonyOS build artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: harmonyos-build | |
| path: platforms/harmonyos/build/ | |
| deploy-web: | |
| name: Deploy Web to GitHub Pages | |
| runs-on: ubuntu-latest | |
| needs: build-web | |
| if: github.ref == 'refs/heads/main' | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Download web build artifacts | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: web-build | |
| path: dist/ | |
| - name: Deploy to GitHub Pages | |
| uses: peaceiris/actions-gh-pages@v4 | |
| with: | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| publish_dir: ./dist |