Skip to content

bump: 1.0.0-beta.6

bump: 1.0.0-beta.6 #4

Workflow file for this run

name: Release
on:
push:
tags:
- "*"
workflow_dispatch:
jobs:
release:
permissions:
contents: write
strategy:
fail-fast: false
matrix:
include:
- platform: "macos-latest"
build_script: "build:mac"
- platform: "windows-latest"
build_script: "build:win"
- platform: "ubuntu-22.04"
build_script: "build:linux"
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "18"
- name: Cache Node.js dependencies
uses: actions/cache@v4
with:
path: |
~/.npm
node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Cache electron-builder
uses: actions/cache@v4
with:
path: |
~/Library/Caches/electron
~/Library/Caches/electron-builder
~/.cache/electron
~/.cache/electron-builder
~/AppData/Local/electron/Cache
~/AppData/Local/electron-builder/Cache
key: ${{ runner.os }}-electron-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-electron-
- name: Install dependencies
run: npm ci --prefer-offline --no-audit
- name: Import Code-Signing Certificates (macOS)
if: matrix.platform == 'macos-latest'
uses: apple-actions/import-codesign-certs@v3
with:
p12-file-base64: ${{ secrets.APPLE_CERTIFICATE }}
p12-password: "${{ secrets.APPLE_CERTIFICATE_PASSWORD }}"
- name: Install Linux dependencies
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y rpm
- name: Build Electron app
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Apple code signing (only if secrets are available)
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
CSC_LINK: ${{ secrets.APPLE_CERTIFICATE }}
CSC_KEY_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
run: npm run ${{ matrix.build_script }} --publish never
- name: Upload Release Assets
uses: softprops/action-gh-release@v1
with:
draft: true
files: |
dist/*.dmg
dist/*.zip
dist/*.exe
dist/*.AppImage
dist/*.blockmap
dist/latest*.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}