Skip to content

chore(release): bump version to v4.6.1 and fix #3325, #3327 #189

chore(release): bump version to v4.6.1 and fix #3325, #3327

chore(release): bump version to v4.6.1 and fix #3325, #3327 #189

Workflow file for this run

name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
# 前端构建检查
build-frontend:
name: Build Frontend
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Node.js setup
uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
- name: Install frontend dependencies
run: npm install --legacy-peer-deps
- name: TypeScript check
run: npx tsc --noEmit
- name: Build frontend
run: npm run build
# Rust 代码检查
check-rust:
name: Check Rust Code
runs-on: ${{ matrix.platform }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-2025, macos-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies (Linux)
if: startsWith(matrix.platform, 'ubuntu')
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev patchelf pkg-config libsoup-3.0-dev javascriptcoregtk-4.1 libjavascriptcoregtk-4.1-dev
sudo apt-get install -y --no-install-recommends libnm-dev xdg-utils
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2
with:
workspaces: "src-tauri"
- name: Check Rust formatting
run: |
cd src-tauri
cargo fmt -- --check
- name: Run Clippy
run: |
cd src-tauri
cargo clippy --all-targets --all-features
- name: Check Rust compilation
run: |
cd src-tauri
cargo check
# Tauri 构建测试(不打包)
build-tauri:
name: Build Tauri App
runs-on: ${{ matrix.platform }}
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-2025, macos-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies (Linux)
if: startsWith(matrix.platform, 'ubuntu')
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev patchelf pkg-config libsoup-3.0-dev javascriptcoregtk-4.1 libjavascriptcoregtk-4.1-dev
sudo apt-get install -y --no-install-recommends libnm-dev xdg-utils
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2
with:
workspaces: "src-tauri"
- name: Node.js setup
uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
- name: Install frontend dependencies
run: npm install --legacy-peer-deps
- name: Disable updater artifacts in unsigned CI builds
shell: pwsh
run: |
$configPath = "src-tauri/tauri.conf.json"
$config = Get-Content -Raw $configPath | ConvertFrom-Json
$config.bundle.createUpdaterArtifacts = $false
$config | ConvertTo-Json -Depth 32 | Set-Content -Path $configPath -Encoding UTF8
Write-Host "Disabled updater artifacts for unsigned CI build."
- name: Build Tauri app (debug)
run: npm run tauri build -- --debug --no-bundle
env:
# CI 环境不需要签名
TAURI_SIGNING_PRIVATE_KEY: ""
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ""