fix(release): 修复 CI 阻断与发布链路,强制版本一致性
- sysmon 采样测试改为分平台断言:此前无条件断言 working_set > 0,非 Windows 上 cargo test 必失败,v* tag 会停在测试阶段(test job 恰好跑在 ubuntu-latest) - CI test job 补齐 GPUI 的 Linux 系统依赖,--lib --tests 让集成测试参与编译 - meta job 校验 tag 与 gpui-app/Cargo.toml 版本一致:忘 bump 会导致新版本装完仍自报旧版,客户端反复提示同一更新 - 发布脚本:--exact-match 取 tag 并强制 semver 校验(--always 会产出 v1.0.0-4-gbc9f55c 这类客户端 release_part 截断后判定不新的版本,且该 Release 会占据 /releases/latest 遮蔽真更新);Release 创建/查询/解析失败一律 exit 1,不再让 job 变绿而 OTA 通道为空 - sysmon CPU 差分基准只在真正算出结果时前移:采样间隔过近沿用上次读数,修复手点立即刷新永远读到 0%;修正 cpu_percent 注释口径(0~100,整机占比) - README 订正发布流程:CI 实际仅出 Linux 产物;补 Release 附件(7z/裸二进制/.sha256)这一 OTA 唯一通道与命名约定;token 需 repo 写权限
This commit is contained in:
@@ -148,7 +148,9 @@ export GITEA_TOKEN=gta_xxx
|
||||
```
|
||||
|
||||
- **owner** 自动从 `git remote origin` 推断(可用 `GITEA_OWNER` / `-Owner` 覆盖)
|
||||
- **版本** 依次取参数 → `git describe --tags` → `Cargo.toml`
|
||||
- **版本** 依次取参数 → 当前提交的精确 tag(`git describe --tags --exact-match`)→ `Cargo.toml`;
|
||||
必须是合法 semver(形如 `v1.0.1` 或 `1.0.1-rc.1`),否则脚本直接拒绝发布
|
||||
—— 非 semver 版本(如 `v1.0.0-4-gabc1234`)会被客户端截断比对,更新永远发不出去
|
||||
- 每个文件附带 `.sha256` 校验侧车;同名版本重复上传按 409 跳过(Gitea 不允许覆盖)
|
||||
- 软件包页面:`{GITEA_URL}/{owner}?tab=packages`
|
||||
|
||||
@@ -156,11 +158,18 @@ export GITEA_TOKEN=gta_xxx
|
||||
|
||||
推送 `v*` tag 即触发 [.gitea/workflows/release.yml](.gitea/workflows/release.yml):
|
||||
|
||||
1. 单元测试
|
||||
2. Windows / Linux 双平台 release 构建(产物重命名为 `mqttx-<ver>-<target>-<ext>`)
|
||||
3. 调用 `scripts/publish-gitea.sh` 上传到包注册表
|
||||
1. 版本一致性校验:tag 必须等于 `v` + `gpui-app/Cargo.toml` 的版本,否则整条流水线失败
|
||||
2. 单元测试(`--lib --tests`,集成测试只编译不执行)
|
||||
3. Linux release 构建(产物重命名为 `mqttx-v<ver>-<target>-mqttx`)
|
||||
4. 调用 `scripts/publish-gitea.sh`:上传包注册表,并创建同名 Release、
|
||||
上传 7z / 裸二进制 / `.sha256` 附件
|
||||
|
||||
需要在仓库 **Settings → Actions → Secrets** 配置 `GITEA_TOKEN`;
|
||||
> **应用内 OTA 只认 Release 附件**,附件名必须匹配 `mqttx-v<ver>-<triple>-mqttx[.exe]`。
|
||||
> Windows 产物目前由本地 `scripts/publish-gitea.ps1` 上传补充(CI 的 Windows 矩阵项
|
||||
> 在 runner 就绪前保持注释,见工作流内说明)。
|
||||
|
||||
需要在仓库 **Settings → Actions → Secrets** 配置 `GITEA_TOKEN`(需 **repo 写权限**:
|
||||
脚本除包注册表外还要创建 Release 并上传附件);
|
||||
若 runner 使用自定义 label,请相应修改工作流的 `runs-on`。
|
||||
|
||||
## 数据目录
|
||||
|
||||
Reference in New Issue
Block a user