维刻 Vex
GitHub
维刻 Vex / 文档 / 统一打包脚本验收

统一打包脚本验收

修改范围

  • 将原先散落在 scripts/ 的构建、打包、签名准备和发布校验脚本归入 scripts/packaging/。
  • 统一入口为 scripts/packaging/build.py,按 win-x64、linux-x64、linux-arm64、osx-x64、osx-arm64、osx-universal、android 提供平台快捷入口。
  • macOS 架构入口仍共用一个双架构 DMG,发布产物命名和七包白名单不变;iOS 仅保留 ios-check,HarmonyOS 发布继续暂缓。
  • 本机产物按平台和版本隔离到 artifacts/local/;CI 显式选择 artifacts/release/,使用同一套构建配方。
  • 根目录 build-windows.bat 兼容旧双击习惯;对应脚本、CI、仓库文档与外部学习文档已同步引用。
  • 显式抑制 Flutter 统计输出,避免首次启动提示污染 --version --machine 的 JSON;Android 校验工具固定使用 Build Tools 36.0.0。
  • 历史 tag 重试需要选择相同 tag 自带的工作流,已增加路径预检与明确提示,不移动旧 tag。

已执行验证

项目 结果
flutter analyze --no-pub 无问题
核心包 / 编辑器 / 导图 / 应用 21 + 201 + 14 + 187 = 423 项通过
Python 脚本测试 默认完整流程时 42 项通过;补充历史 tag 提示测试后 43 项通过
PowerShell 脚本解析 通过
所有归类后 Shell 脚本的 bash -n 通过
三个 workflow 的 YAML 解析与打包路径契约 通过
全部已跟踪 Dart 文件格式检查 首次远端检查发现 workspace_screen.dart 的既有换行格式问题;使用固定 Dart SDK 仅做格式修正后本地全量复检通过
各目标 --dry-run 从仓库外的含空格临时目录调用,均成功,无实际构建
实际 BAT / Shell 快捷入口 仓库外调用 Windows -CheckOnly、Android --dry-run、Linux ARM64 / macOS ARM64 --dry-run 均成功
Windows 上请求 Linux 原生构建 明确拒绝,返回非零,不误报跨系统构建成功
子命令失败 测试验证后续步骤不执行且保留失败码
Windows 正式 Release + Inno 安装包 重试成功,格式、单包 SHA-256 和目录白名单验证通过

本机 .NET / MSVC 工具来自 Visual Studio Insiders。第一次默认完整流程通过所有分析与测试后,CL.exe 编译 url_launcher_windows 时以 -1073741819 退出,整体返回 1,没有输出 READY。保留失败日志,显式设置 CMAKE_BUILD_PARALLEL_LEVEL=1、CL=/MP1 后,使用 --skip-tests 仅重试已经通过测试后的构建和打包,成功。并发变更与重试成功不构成对编译器崩溃根因的定论;脚本没有加入自动重试或吞错逻辑。

完整测试日志:artifacts/build-logs/windows-20261018-123438-636.log。成功构建日志:artifacts/build-logs/windows-20261018-123805-943.log。这些是本机忽略文件,不提交日志原文。

本机产物

text
artifacts/local/win-x64/v0.2.2-build4/
├── Vex-v0.2.2-windows-x64-setup.exe
└── Vex-v0.2.2-windows-x64-setup.exe.sha256

安装包大小:32,454,767 字节。

text
b142364c5a71fd1cd980be9467afa2302bc5b7cc833ef8011c9b2e4e877b3f78

该包来自当前工作区,包括既有未提交的内置更新日志修改;并不等于一个新的正式发布。没有运行安装器、启动产品、改变用户数据、修改版本或创建 tag。

验证边界

当前机器为 Windows:本次没有原生执行 Linux DEB、macOS DMG、Android production APK 或 iOS 编译。对应构建配方、路径和签名边界经脚本测试,真实非 Windows 原生工具链仍以对应系统及 CI 结果为准。Actionlint 独立工具因 GitHub 附件下载连接失败未运行,不将 YAML 解析表述为完整 Actions 运行验收。

Git 工作区原有的内置更新日志修改和 docs/桌面体验复核.md 不属于本次脚本归类提交,保持未提交状态;外部学习文档位于独立的 D:\github\md\mds\Vex 目录,不在本仓库 Git 范围内。

💬 评论暂未开启
有疑问或建议,欢迎到 GitHub 提交 Issue 参与讨论。
tems[selIndex] as HTMLAnchorElement).click(); } } });