跳转至

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;tag v0.11.0。应用代码与合并前 dev3 cdb91eef 一致,发布准备仅涉及脚本、工作流、说明与计划。
  • Actions 39555101657:Windows x64、macOS ARM64 均成功;安装包仍保留于 Actions 产物。
  • Android 本地正式签名 ARM64,包名 app.onethu.desktop,versionName 0.11.0,versionCode 11000。证书 SHA256 cc14d735667bb8b5d3134e7dfdccf6a4d9353e1a2fce54503f4a29705423aa97 与 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 使用的下载链接,而不让浏览器发必被阻止的跨域请求。