Skip to content

fix(groups): 改判清空系列键与结算性能修复 #128

fix(groups): 改判清空系列键与结算性能修复

fix(groups): 改判清空系列键与结算性能修复 #128

Workflow file for this run

name: PR Quality Check
on:
pull_request:
branches: [main, dev]
push:
branches: [dev]
jobs:
# ===========================================================================
# 路径变更检测 —— 决定哪些子项目需要执行检查
# ===========================================================================
changes:
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read
pull-requests: read
outputs:
app-frontend: ${{ steps.filter.outputs.app-frontend }}
app-rust: ${{ steps.filter.outputs.app-rust }}
docs: ${{ steps.filter.outputs.docs }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
app-frontend:
- 'app/src/**'
- 'app/package.json'
- 'app/package-lock.json'
- 'app/index.html'
- 'app/vite.config.ts'
- 'app/tsconfig*.json'
app-rust:
- 'app/src-tauri/**'
- 'app/src-tauri/Cargo.lock'
docs:
- 'docs/**'
- 'scripts/docs-check.mjs'
- '.docscheckignore'
# ===========================================================================
# App 前端 —— React + Vite + TypeScript
# ===========================================================================
app-frontend:
needs: changes
if: needs.changes.outputs.app-frontend == 'true'
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
cache-dependency-path: app/package-lock.json
- run: cd app && npm ci
- name: Typecheck
run: cd app && npx tsc --noEmit
- name: Build
run: cd app && npm run build
# ===========================================================================
# App Rust 后端 —— Tauri 主进程(含单测与 lint)
# ===========================================================================
app-rust:
needs: changes
if: needs.changes.outputs.app-rust == 'true'
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
# sherpa-onnx 等 crate 编译耗时较长,启用 sccache 加速重复构建
- name: Cache cargo registry
uses: Swatinem/rust-cache@v2
with:
workspaces: app/src-tauri
- name: Test
run: cd app/src-tauri && cargo test
- name: Lint (clippy)
run: cd app/src-tauri && cargo clippy -- -D warnings
# ===========================================================================
# Docs —— 文档体系一致性检查(链接/索引/命名)
# ===========================================================================
docs:
needs: changes
if: needs.changes.outputs.docs == 'true'
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Docs check
run: node scripts/docs-check.mjs