Skip to content

chore: bump version to 1.2.1 #40

chore: bump version to 1.2.1

chore: bump version to 1.2.1 #40

Workflow file for this run

# This is a basic workflow to help you get started with Actions name: 'Tauri Build'
name: "Tauri Build"
# Controls when the action will run.
on:
# Triggers the workflow on tag push only
push:
tags:
- "v*"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
permissions:
contents: write
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build:
strategy:
fail-fast: false
matrix:
platform: [macos-latest, ubuntu-22.04, windows-latest]
# platform: [ubuntu-22.04]
# platform: [windows-latest]
# The type of runner that the job will run on
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22
- name: Cache Node modules
uses: actions/cache@v4
with:
# npm cache files are stored in ~/.npm
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Setup Rust toolchain (stable)
uses: dtolnay/rust-toolchain@stable
with:
# Only required targets will be downloaded depending on platform
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
# ----------------------------
# MACOS ONLY FIX
# ----------------------------
- name: Install macOS dependencies
if: matrix.platform == 'macos-latest'
run: |
brew install gnu-tar coreutils
echo "Homebrew dependencies installed"
# ----------------------------
# UBUNTU ONLY
# ----------------------------
- name: Install dependencies (Linux only)
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y \
libgtk-3-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf \
libsoup-3.0 \
libwebkit2gtk-4.1-dev
- name: Install Node dependencies
run: npm install --force
- name: Run unit tests (Linux only)
if: matrix.platform == 'ubuntu-22.04'
uses: GabrielBB/xvfb-action@v1
with:
run: npm run test
# ----------------------------
# BUILD TAURI
# ----------------------------
# Note: Windows and Linux builds use different updater configurations
# - Windows: updaterJsonPreferNsis=true (for .exe/.msi installers)
# - Linux: updaterJsonPreferNsis=false (for .AppImage/.deb packages)
# This fixes "invalid updater binary format" errors on Linux
- name: Build Tauri app (macOS Universal)
if: matrix.platform == 'macos-latest'
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
with:
tagName: ${{ github.ref_name }}
releaseName: "Release ${{ github.ref_name }}"
releaseBody: "New release"
releaseDraft: false
prerelease: false
includeRelease: true
includeDebug: false
includeUpdaterJson: true
updaterJsonPreferNsis: true
args: --target universal-apple-darwin
- name: Self-sign macOS app
if: matrix.platform == 'macos-latest'
run: |
# Find the app bundle in the release directory
APP_PATH=$(find src-tauri/target/*/release/bundle/macos -name "*.app" -type d | head -1)
if [ -z "$APP_PATH" ]; then
# Try alternative path
APP_PATH=$(find . -path "*/target/*/release/bundle/macos/*.app" -type d | head -1)
fi
if [ -n "$APP_PATH" ]; then
echo "Self-signing app at: $APP_PATH"
codesign --deep --force --verify --verbose --sign - "$APP_PATH"
echo "App signed successfully"
else
echo "App bundle not found, listing directories:"
find src-tauri/target -type d -name "bundle" 2>/dev/null | head -5
fi
- name: Build Tauri app (Windows)
if: matrix.platform == 'windows-latest'
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
with:
tagName: ${{ github.ref_name }}
releaseName: "Release ${{ github.ref_name }}"
releaseBody: "New release"
releaseDraft: false
prerelease: false
includeRelease: true
includeDebug: false
includeUpdaterJson: true
updaterJsonPreferNsis: true
- name: Build Tauri app (Linux)
if: matrix.platform == 'ubuntu-22.04'
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
with:
tagName: ${{ github.ref_name }}
releaseName: "Release ${{ github.ref_name }}"
releaseBody: "New release"
releaseDraft: false
prerelease: false
includeRelease: true
includeDebug: false
includeUpdaterJson: true
updaterJsonPreferNsis: false