Загрузка данных


name: Build Browser (.exe & .apk)

on:
  push:
    branches: [ main, master ]
  workflow_dispatch:

jobs:
  build-windows:
    runs-on: windows-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-size: 20

      - name: Install Dependencies
        run: |
          npm install
          npm install --save-dev electron electron-builder

      - name: Build Web Assets
        run: npm run build

      - name: Build Windows EXE
        run: |
          # Переименовываем файлы для Electron, чтобы сборщик их подцепил
          copy electron-package.json package.json
          copy electron-main.js main.js
          npx electron-builder --windows

      - name: Upload Windows App
        uses: actions/upload-artifact@v4
        with:
          name: Browser-Windows-EXE
          path: dist/*.exe

  build-android:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: Install Cordova for Android
        run: npm install -g cordova

      - name: Create Android Project
        run: |
          cordova create android-project com.mybrowser.app MyBrowser
          cd android-project
          cordova platform add android
          # Копируем веб-сборку в Cordova
          cd ..
          npm install
          npm run build
          rm -rf android-project/www/*
          cp -r dist/* android-project/www/
          cd android-project
          cordova build android --device

      - name: Upload Android APK
        uses: actions/upload-artifact@v4
        with:
          name: Browser-Android-APK
          path: android-project/platforms/android/app/build/outputs/apk/debug/*.apk