完善桌面端界面、发布检查与邮箱域名同步
This commit is contained in:
@@ -51,7 +51,7 @@ windows-main
|
||||
| 生产热修复 | `hotfix/<问题名称>` | `hotfix/login-loop` |
|
||||
| 文档调整 | `docs/<文档名称>` | `docs/release-sop` |
|
||||
| 发布准备 | `release-prep/<版本号>` | `release-prep/v1.2.0` |
|
||||
| 临时集成 | `codex/<任务名称>` | `codex/ctms-desktop` |
|
||||
| Agent 临时任务 | `codex/<任务名称>` | `codex/desktop-menu-polish` |
|
||||
|
||||
分支名称使用小写英文和连字符,不使用个人姓名、日期或模糊名称。
|
||||
|
||||
@@ -180,33 +180,17 @@ git push origin --delete feature/<功能名称>
|
||||
|
||||
工作树正在使用的分支不能直接删除,应先切换分支或移除对应工作树。
|
||||
|
||||
## 五、当前桌面集成分支处理流程
|
||||
## 五、历史桌面集成分支约束
|
||||
|
||||
`codex/ctms-desktop` 是临时桌面集成分支,不作为长期桌面主线。
|
||||
`codex/ctms-desktop` 是第一阶段 Tauri 基线使用过的历史临时集成分支,不作为当前桌面端工作线,也不作为长期桌面主线。
|
||||
|
||||
处理步骤:
|
||||
当前约束:
|
||||
|
||||
```bash
|
||||
git status
|
||||
git add <本次桌面端和治理优化相关文件>
|
||||
git diff --cached --check
|
||||
git commit -m "refactor(client): 统一网页端和桌面端发布流程"
|
||||
git fetch origin
|
||||
git rebase origin/dev
|
||||
git push origin codex/ctms-desktop
|
||||
```
|
||||
|
||||
创建:
|
||||
|
||||
```text
|
||||
codex/ctms-desktop -> dev
|
||||
```
|
||||
|
||||
合并并验证 `dev` 后:
|
||||
|
||||
- 删除远程 `codex/ctms-desktop`
|
||||
- 不再从该分支继续开发
|
||||
- 后续桌面功能从最新 `dev` 创建短期 `feature/*` 分支
|
||||
- 不得继续向 `codex/ctms-desktop` 提交、变基或推送新的桌面端工作。
|
||||
- 如本地或远程仍保留该分支,只能用于追溯历史或在确认已合入 `dev` 后删除。
|
||||
- 后续桌面功能、修复、稳定化和发布准备必须从最新 `dev` 创建短期 `feature/*`、`fix/*`、`docs/*`、`release-prep/*` 或 `codex/*` 分支。
|
||||
- Agent 创建分支默认使用 `codex/<任务名称>`,并在任务合入 `dev` 后删除。
|
||||
- 如果工作区处于 detached HEAD 或包含尚未归属到分支的提交,执行分支切换、提交、推送或变基前必须先确认目标基线和处理方式。
|
||||
|
||||
## 六、从 `dev` 晋级到 `main`
|
||||
|
||||
|
||||
@@ -64,6 +64,7 @@ release/security gate before promotion:
|
||||
```bash
|
||||
cd frontend
|
||||
npm run version:check
|
||||
npm run release:env:check
|
||||
npm run runtime:check
|
||||
npm run desktop:release:check
|
||||
npm run ui:contract
|
||||
@@ -73,10 +74,12 @@ npm run build
|
||||
npm run desktop:build:app
|
||||
```
|
||||
|
||||
`release:env:check` verifies build channel and commit metadata, and can be
|
||||
made strict for signed Desktop builds with `REQUIRE_DESKTOP_SIGNING=true`.
|
||||
`desktop:release:check` statically verifies the Tauri bundle, updater public
|
||||
key, CSP, capability scopes, command allowlist, query-token ban, and secure
|
||||
session token boundary. The full manual release, security, regression, and
|
||||
Desktop UX checklist lives in
|
||||
key, CSP, capability scopes, command allowlist, query-token ban, generic system
|
||||
notification boundary, CI gate coverage, and secure session token boundary. The
|
||||
full manual release, security, regression, and Desktop UX checklist lives in
|
||||
`docs/audits/desktop-release-stabilization-checklist.md`.
|
||||
|
||||
## Promotion
|
||||
@@ -120,8 +123,9 @@ The release pipeline must:
|
||||
3. sign and notarize the macOS app;
|
||||
4. produce updater artifacts and `.sig` files with the updater private key;
|
||||
5. generate `latest.json` and a checksum manifest;
|
||||
6. upload immutable artifacts first;
|
||||
7. atomically replace `latest.json` last.
|
||||
6. verify the feed with `npm run desktop:update-feed:check -- --feed <latest.json> --artifacts-dir <artifact-dir>`;
|
||||
7. upload immutable artifacts first;
|
||||
8. atomically replace `latest.json` last.
|
||||
|
||||
For Universal macOS artifacts, `latest.json` must provide both
|
||||
`darwin-aarch64` and `darwin-x86_64` entries pointing at the same Universal
|
||||
@@ -149,6 +153,9 @@ Windows validation must cover:
|
||||
cd frontend
|
||||
npm ci
|
||||
npm run version:check
|
||||
export VITE_BUILD_CHANNEL=release
|
||||
export VITE_BUILD_COMMIT="$(git rev-parse HEAD)"
|
||||
npm run release:env:check
|
||||
npm run runtime:check
|
||||
npm run desktop:release:check
|
||||
npm run ui:contract
|
||||
@@ -158,7 +165,10 @@ npm run build
|
||||
npm run desktop:build:app
|
||||
export TAURI_SIGNING_PRIVATE_KEY="$UPDATER_PRIVATE_KEY"
|
||||
export TAURI_SIGNING_PRIVATE_KEY_PASSWORD="$UPDATER_PRIVATE_KEY_PASSWORD"
|
||||
export REQUIRE_DESKTOP_SIGNING=true
|
||||
npm run release:env:check
|
||||
npm run desktop:build -- --bundles app
|
||||
npm run desktop:update-feed:check -- --feed src-tauri/target/release/bundle/latest.json --artifacts-dir src-tauri/target/release/bundle
|
||||
```
|
||||
|
||||
The Desktop build must run on macOS for the current first-phase target. A signed
|
||||
|
||||
Reference in New Issue
Block a user