审查反馈:
1. CI 缺质量门禁 — 仅 windows-latest 1 job,mac 端 cargo check 路径
无 PR-time 验证,每次 release-tauri.yml 才暴露平台问题
2. .gitignore 不全 — promo-openless-v2/ 反复出现在 git status;
node_modules / dist / target 没全局兜底
3. 版本号同步风险 — package.json + tauri.conf.json + Cargo.toml 三处
人工改,每次发版都担心漏一处
改动:
A. .github/workflows/ci.yml
- 单一 windows-tauri job → matrix(macos-latest + windows-latest)
- mac job:cargo check + npm run build 验证跨平台编译
- Windows job:保留原 preflight + ps1 tokenize
- 新加 step:Verify version triplet stays in sync(两端都跑)—
一旦 package.json / tauri.conf.json / Cargo.toml 三处 drift 立刻
fail,给发版工程加 long-running guard
B. .gitignore
- 加 promo-openless-v2/(已实测出现在 untracked)
- 加 node_modules/ + dist/ + target/ 全局兜底(避免某子目录漏配
时 build artifact 进 PR)
- 加 .cargo/registry / .cargo/git 兜底
C. scripts/bump-version.sh(新文件)
- 1 个参数(X.Y.Z),sed 同步改 3 个文件 + cargo update -p openless
同步 Cargo.lock
- 验证三处一致后输出后续 git 操作建议
- 跨 macOS sed / GNU sed 兼容(-i.bak 后 rm)
下次发版:./scripts/bump-version.sh 1.2.21 一行搞定。
未来 PR 漏改版本号 CI 立刻 fail,不需要靠人记忆。
46 lines
982 B
Plaintext
46 lines
982 B
Plaintext
.DS_Store
|
||
.build/
|
||
build/
|
||
.swiftpm/
|
||
*.xcodeproj
|
||
Package.resolved
|
||
xcuserdata/
|
||
DerivedData/
|
||
ChatGPT Image*.jpg
|
||
|
||
# Local config / secrets
|
||
*.env
|
||
config.local.json
|
||
# Tauri updater 签名私钥(绝不上传 — 公钥在 tauri.conf.json,私钥放 GitHub Secret)
|
||
*.key
|
||
*.key.pub
|
||
密钥对.zip
|
||
密钥对/
|
||
|
||
# Local working dirs that don't belong in the repo
|
||
SC/
|
||
apps/
|
||
promo/
|
||
promo-openless/
|
||
promo-openless-v2/
|
||
docs/old-promo/
|
||
.worktrees/
|
||
|
||
# 派生产物(兜底):项目曾出现 promo-openless-v2/node_modules 等遗漏,
|
||
# 这里全局通配,避免某子目录漏配 .gitignore 时把 build artifact 推进 PR。
|
||
node_modules/
|
||
dist/
|
||
target/
|
||
.cargo/registry/
|
||
.cargo/git/
|
||
|
||
# Windows TSF IME local build outputs
|
||
openless-all/app/windows-ime/OpenLessIme/
|
||
openless-all/app/windows-ime/x64/
|
||
openless-all/app/windows-ime/Win32/
|
||
openless-all/app/windows-ime/Release/
|
||
openless-all/app/windows-ime/obj/
|
||
|
||
# Planning docs are kept local only, not published to the public repo.
|
||
docs/plans/
|