name: PR Check on: pull_request: branches: [main] types: [opened, synchronize, reopened] jobs: # 后端检查 backend: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - uses: Swatinem/rust-cache@v2 with: workspaces: crates → target - name: cargo fmt run: cargo fmt --all -- --check working-directory: . - name: cargo check run: cargo check --all-targets working-directory: . - name: cargo clippy run: cargo clippy --all-targets -- -D warnings working-directory: . - name: cargo test run: cargo test --all working-directory: . # 前端检查 frontend: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: subosito/flutter-action@v2 with: flutter-version: '3.x' channel: 'stable' - name: Install dependencies run: flutter pub get working-directory: app - name: flutter analyze run: flutter analyze --no-fatal-infos working-directory: app - name: flutter test run: flutter test working-directory: app