Skip to content

Merge pull request #2 from baristikir/update/whisper.cpp #38

Merge pull request #2 from baristikir/update/whisper.cpp

Merge pull request #2 from baristikir/update/whisper.cpp #38

Workflow file for this run

name: Build Electron Application
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build-windows:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Yarn and Node-GYP
run: |
npm install -g yarn
npm install -g node-gyp
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Display yarn and Node.js versions
run: |
node --version
yarn --version
- name: List installed packages
run: yarn list --depth=0
- name: Download GGML models
run: |
./whisper.cpp/models/download-ggml-model.cmd base
./whisper.cpp/models/download-ggml-model.cmd base.en
- name: Build Electron app
run: yarn make
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: windows-app-x64
path: |
out/make/**/*.exe
out/make/**/*.msi
out/make/**/*.zip
- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: forge-logs
path: out/forge.log
build-linux:
runs-on: ubuntu-latest
strategy:
matrix:
arch: [x64]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
architecture: ${{ matrix.arch }}
- name: Install Yarn and Node-GYP
run: |
npm install -g yarn
npm install -g node-gyp
- name: Install dependencies without Native Addon Builds (ARM64)
if: matrix.arch == 'ARM64'
run: yarn install --frozen-lockfile --ignore-scripts
- name: Install dependencies with Native Addons Builds (X64)
if: matrix.arch == 'X64'
run: yarn install --frozen-lockfile
- name: Build Native Addons for ARM64
if: matrix.arch == 'ARM64'
run: |
node-gyp configure --arch=arm64
node-gyp build
- name: Display Yarn and Node.js versions
run: |
node --version
yarn --version
- name: List installed packages
run: yarn list --depth=0
- name: Download GGML models
run: |
./whisper.cpp/models/download-ggml-model.sh base
./whisper.cpp/models/download-ggml-model.sh base.en
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev
- name: Build Electron Application
env:
ELECTRON_ARCH: ${{ matrix.arch }}
run: yarn make --arch=${{ matrix.arch }}
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: linux-app-${{ matrix.arch }}-${{ github.run_id }}
path: |
out/make/**/*.deb
out/make/**/*.rpm
out/make/**/*.zip
- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: forge-logs-linux-${{ matrix.arch }}-${{ github.run_id }}
path: out/forge.log
build-macos:
runs-on: macos-latest
strategy:
matrix:
arch: [x64, arm64]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install distutils
run: |
python -m pip install --upgrade pip
pip install setuptools
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Yarn and Node-GYP
run: |
npm install -g yarn
npm install -g node-gyp
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Display Yarn, Node.js and Python versions
run: |
node --version
yarn --version
python --version
pip list
- name: List installed packages
run: yarn list --depth=0
- name: Downlaod GGML models
run: |
./whisper.cpp/models/download-ggml-model.sh base
./whisper.cpp/models/download-ggml-model.sh base.en
- name: Build Electron Application
env:
ELECTRON_ARCH: ${{ matrix.arch }}
run: yarn make --arch=${{ matrix.arch }}
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: macos-app-${{ matrix.arch }}-${{ github.run_id }}
path: |
out/make/**/*.dmg
out/make/**/*.pkg
out/make/**/*.zip
- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: forge-logs-macos-${{ matrix.arch }}-${{ github.run_id }}
path: out/forge.log