0.11 Revolution 发布¶
Android 安装包已于同日更新为 versionCode 11001,当前 SHA256 为
0ae0f44d8396b3109c909330620c477cb9159818486744a2bc151dfef0ac6409。下方初次构建记录保留作历史;补包见 手机白板编辑记录。
用户授权将 dev3 合并到 main,macOS/Windows 由 Actions 构建,Android 改为本地沿用签名构建,三端一起发布到 GitHub Release v0.11.0,标题 OneTHU 0.11 · Revolution。
- [x] main 已合并 dev3,保留双方提交;合并提交
2fe5362e。 - [x] 发布身份、版本和关键护栏复核,提交/推送 main 与发布 tag。
- [x] Actions 构建 macOS ARM64 DMG 与 Windows x64 NSIS 安装包。
- [x] Android 本地正式 ARM64 构建;与旧发布版比较签名与包名,核对版本和开发面板剔除。
- [x] 校验三端安装包,生成 SHA-256,统一上传并发布中英文说明。
发布说明:.github/RELEASE_NOTES_v0.11.0.md。签名私钥留在本地,不上传到 CI。
发布结果¶
- 正式发布:OneTHU 0.11 · Revolution,非预发布,设为 Latest。
- 构建源码:
19ab4c8a975ad760a0935f8487aa0bd3667cc7a6;tagv0.11.0。应用代码与合并前 dev3cdb91eef一致,发布准备仅涉及脚本、工作流、说明与计划。 - Actions 39555101657:Windows x64、macOS ARM64 均成功;安装包仍保留于 Actions 产物。
- Android 本地正式签名 ARM64,包名
app.onethu.desktop,versionName0.11.0,versionCode11000。证书 SHA256cc14d735667bb8b5d3134e7dfdccf6a4d9353e1a2fce54503f4a29705423aa97与 GitHub v0.10.0 相同。私钥不进仓库和 CI。 - Android ZIP 完整性、zipalign 与 v1/v2/v3 签名校验通过;macOS DMG 校验和及应用 codesign 严格验证通过,应用和 Harness 均为 ARM64;Windows 实际应用 PE 为 x64,应用和安装器版本均为
0.11.0.0。 - 三端均确认嵌入中英文暂存演示,剔除 DevPanel。上传后逐项核对 GitHub 返回的大小及 SHA256,与本地一致。
- 限制:本轮未进行三端实机安装启动验收;macOS 为 ad-hoc 签名,桌面包无商业发行证书。debug 签名测试 APK 不能直接覆盖安装此正式签名包,发布说明已提示先导出所需数据。
| 产物 | 字节数 | SHA256 |
|---|---|---|
| OneTHU_0.11.0_aarch64.dmg | 18814686 | bdd666f6ae077f87ce10ac1ba1ba03795ecd4b86624ca6324992895bf7829ac8 |
| OneTHU_0.11.0_arm64.apk | 31912765 | e06cbb425c141ea0c74ffbe5a6d5d3f6ec1f0e99861d14b3beeb5ecc0a2dd18c |
| OneTHU_0.11.0_x64-setup.exe | 17248661 | 497f62242837885b81244a90df5531144ce22daf9e0369567e2de9f357e1e19c |
Release 同时提供 SHA256SUMS.txt。本机构建日志、检查报告、完整产物留在 /Volumes/OneTHUBuild/artifacts/release-0.11/。
云盘镜像与下载链路(已纠正目录约定)¶
固定分享:https://cloud.tsinghua.edu.cn/d/56f78a2a0b144a6ab737/ 。正式布局沿用 /Android/、/macOS/、/Windows/,各目录保留 0.10 与 0.11;根目录提供 SHA256SUMS.txt 和 latest.json。撤销误建的 /v0.11.0/ 副本目录。之前“每版一个文件夹”的记忆错误,不得再沿用。
- 官网中英文下载页按系统展示版本、架构、大小,主按钮直接下载对应云盘安装包,副按钮 GitHub,另有目录、校验文件与逐包 SHA256。首页也有云盘下载入口。无需 JS 可用。
tools/check-release-mirrors.py匿名读取三个系统目录,按数字版本选择最新安装包;必须与 GitHub Latest 版本、大小、SHA256SUMS 和 Release digest 一致;完整下载三个云盘包核对哈希,再核对双源latest.json的平台路径、版本及哈希。缺失、落后或不一致即失败退出。- 官网 Pages 在发布前运行上述检查、刷新
assets/downloads.json、重新生成页面。每日定时或手动部署也重新检查,页面注明核验日期。无跨域凭据或临时 seafhttp 下载地址。 - 发布准备:运行
python3 tools/check-release-mirrors.py --manifests <输出目录>生成双源清单(此参数仅生成待发布清单,不检查线上旧清单);将 cloud-latest.json 作为根目录 latest.json 上传云盘、github-latest.json 作为 latest.json 上传 Release 后,再运行不带--manifests的完整发布门禁。 - 发布门禁:
python3 tools/check-release-mirrors.py --output ../onethu.github.io/assets/downloads.json。无云盘 Token、无账号登录,只用公开分享;GitHub 限额需要时可传GH_TOKEN,仅发给 api.github.com。 - 夹具验证:
python3 tools/check-release-mirrors-test.py覆盖版本排序、缺包、旧版本、大小错误、哈希错误等拒绝路径。 - 实际更新器验收:
node tools/update-sources-live-test.mjs提取真实 updater.ts 代码,仅将 Tauri HTTP 桥替换为只读网络适配;三个平台双源清单及 GitHub 失败后的云盘回退均通过,hashAvailable=true。未触发下载安装 IPC。 - 官网浏览器验收:
node tools/site-download-browser-test.mjs,320/390/768/1440 宽度、中英文、禁用 JavaScript 的 8 组布局,检查直达路径、按钮尺寸、无水平溢出、展开哈希。截图在/Volumes/OneTHUBuild/artifacts/release-0.11/download-page/。
双源 latest.json 是当前已有下载更新器的清单,不涉及热更新或应用代码改动,因此无需重打三端安装包。
官网修复提交:OneTHU/onethu.github.io@567910f。部署与云盘发布门禁:Pages run 39562462694。公开目录 API 不提供跨域 CORS,因此由 Pages 构建环境直接核验云盘并生成可无 JS 使用的下载链接,而不让浏览器发必被阻止的跨域请求。