Files
PathEditor/docs/superpowers/specs/2026-05-27-v4.2-ci-cd-design.md
T
2026-05-27 00:50:33 +08:00

52 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# v4.2 CI/CD 流水线 — 设计文档
**日期**: 2026-05-27
**分支**: v4.2
**状态**: 已确认
## 概述
为 PathEditor 添加 GitHub Actions CI/CD,实现 push 自动检查 + tag 自动构建发布。
## 触发策略
| 触发条件 | 做什么 |
|----------|--------|
| push 任意分支(不含 tag | 前端类型检查 + lint + 测试,Rust check + clippy + test |
| 推送 tag `v*` | Tauri 构建 NSIS 安装包,上传到 GitHub Release |
## Workflow 1: CI
**文件**: `.github/workflows/ci.yml`
两个并行 job
**frontend (ubuntu-latest)**:
- 用 ubuntu 而非 windows,更快且不依赖系统 API
- 步骤:checkout → setup-node → npm ci → tsc --noEmit → npm run lint → npm test
**rust (windows-latest)**:
- 必须用 windows`winreg` crate 依赖 Windows API
- 安装 GNU 工具链并 override,添加 MinGW bin 到 PATH
- 步骤:checkout → rustup toolchain install → override → PATH → cargo check → cargo clippy -- -D warnings → cargo test
## Workflow 2: Release
**文件**: `.github/workflows/release.yml`
单一 job `build-and-release` (windows-latest)
- checkout → setup-node → npm ci → rustup + MinGW → npx tauri build → gh release upload
构建产物:NSIS 安装包(`.exe`),上传到对应 tag 的 GitHub Release。
## MinGW 处理
- GitHub Actions `windows-latest` 自带 MSYS2MinGW 位于 `C:\msys64\mingw64\bin`
- `cargo test` 运行时需要 `libmcfgthread-2.dll`,将此路径加入 `PATH` 即可
## 范围限制
- 不做跨平台构建(项目仅面向 Windows)
- 不做覆盖率门槛
- Release 不重复跑 CItag 推送说明已通过 push 检查)