chore(release): bump version to v4.6.1 and fix #3325, #3327 #189
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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: "" |