Skip to content

build-release

build-release #21

name: Electron forge build/release
run-name: build-release
on:
release:
types: [released]
jobs:
release-electron-application:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest-xlarge, windows-latest]
arch: [x64, arm64]
platform: [darwin, win32]
steps:
- name: Check out Git repository
uses: actions/checkout@v4
with:
ref: ${{ github.event.release.tag_name }}
- name: Install Node.js and NPM
uses: actions/setup-node@v4
with:
node-version: "20"
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: npm ci
# Windows build
- name: Publish Electron App release (Windows)
if: ${{ matrix.os == 'windows-latest' && matrix.platform == 'win32' }}
env:
GITHUB_TOKEN: ${{ secrets.github_token }}
DEBUG: "*"
run: npm run publish -- --arch=${{ matrix.arch }} --platform=${{ matrix.platform }}
# macOS build (both arm64 and x64)
- name: Publish Electron App release (macOS)
if: ${{ matrix.os == 'macos-latest-xlarge' && matrix.platform == 'darwin' }}
env:
GITHUB_TOKEN: ${{ secrets.github_token }}
DEBUG: "*"
run: npm run publish -- --arch=${{ matrix.arch }} --platform=${{ matrix.platform }}