Skip to content

Release Build

Release Build #9

Workflow file for this run

name: Release Build
on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
version:
description: 'Version tag (e.g. v1.1.0)'
required: true
permissions:
contents: write
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
patchelf
- uses: pnpm/action-setup@v4
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build frontend
run: pnpm frontend:build
env:
CI: true
- name: Build Tauri (Linux)
run: |
cd src-tauri
cargo build --release
cargo tauri build --bundles appimage,deb
env:
CI: true
- name: Upload Linux artifacts
uses: actions/upload-artifact@v4
with:
name: linux-builds
path: |
src-tauri/target/release/bundle/appimage/*.AppImage
src-tauri/target/release/bundle/deb/*.deb
- name: Upload to release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
files: |
src-tauri/target/release/bundle/appimage/*.AppImage
src-tauri/target/release/bundle/deb/*.deb
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build Tauri (macOS)
run: pnpm desktop:build
env:
CI: true
- name: Upload macOS artifacts
uses: actions/upload-artifact@v4
with:
name: macos-builds
path: src-tauri/target/release/bundle/dmg/*.dmg
- name: Upload to release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
files: src-tauri/target/release/bundle/dmg/*.dmg