Merge pull request #2 from baristikir/update/whisper.cpp #38
This file contains 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: 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 |