简化 snapped GUI 应用的测试与发布

主要观点:作者参与 Snapcrafters 组织,旨在帮助构建更自动化、可持续的版本更新流程,并找到更可靠的 GUI 应用测试方法。通过使用 LXD 桌面虚拟机和编写ghvmctl脚本,实现了在 Github Actions 中快速启动和测试 Ubuntu 桌面虚拟机,用于 GUI 应用的测试。还构建了一个集成工作流和截图动作,简化了 GUI 应用的测试和发布过程。
关键信息

  • Snapcrafters 维护约 100 个 snap 包,如 Signal Desktop 等,每周有大量活跃用户。
  • 测试 snap 包中应用的新版本及功能较困难,尤其对于 GUI 应用。
  • LXD 可提供快速启动桌面虚拟机的方式,Canonical 还宣布了 LXD UI。
  • ghvmctl脚本可用于启动 Ubuntu 桌面虚拟机、安装和运行 snaps 等操作,并打包为 snap 简化安装。
  • 构建了用于管理 snaps 发布周期的 Github Actions 集合,以及用于收集截图的动作。
    重要细节
  • 测试流程中,自动创建包含新候选版本信息的 Github Issue,后续用截图跟进,确认无误后将 snap 提升到稳定通道。
  • 示例可见多个 snap 的测试过程,如 gimp、discord 等。
  • 仍在完善和推广该流程,希望减轻维护者负担,提供更可靠的桌面 snaps。若想参与可联系作者等。
阅读 31
0 条评论