fix(review-G): 同事务凭据写入 / 日志写边界脱敏 / restore staging 化 #45
Workflow file for this run
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 | |
| # Default PR pipeline: static checks only (L0). | |
| # IMPORTANT: this pipeline never builds Docker images. | |
| # Docker E2E is a separate workflow triggered only by container/network path changes. | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| jobs: | |
| backend: | |
| # 双侧钉住(2026-08-21 教训):unix cfg 代码与新版 clippy 行为只在 Linux 暴露, | |
| # Windows-only 开发必然漂移;matrix 强制两侧同时编译+测试。 | |
| name: Backend (L0) ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # 版本与仓库根 rust-toolchain.toml 保持一致(升级须同步,见该文件头注)。 | |
| - uses: dtolnay/rust-toolchain@1.96.0 | |
| with: | |
| components: rustfmt, clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: fmt | |
| run: cargo fmt --check | |
| - name: clippy | |
| run: cargo clippy --workspace --all-targets --all-features -- -D warnings | |
| - name: test | |
| run: cargo test --workspace | |
| frontend: | |
| name: Frontend (L0) | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: web | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| # 与本地开发版本一致(pnpm --version);缺此声明 action-setup@v4 直接报错。 | |
| version: 11.22.0 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| cache-dependency-path: web/pnpm-lock.yaml | |
| - name: install | |
| run: pnpm install --frozen-lockfile | |
| - name: lint | |
| run: pnpm lint | |
| - name: typecheck | |
| run: pnpm typecheck | |
| - name: test | |
| run: pnpm test | |
| # P1 审查 R3#5:生产构建必须可编译(mock server 直接 serve dist)。 | |
| - name: build | |
| run: pnpm build | |
| - name: Install Playwright chromium | |
| run: pnpm exec playwright install --with-deps chromium | |
| - name: Browser E2E (mock) | |
| run: pnpm e2e |