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