Flathub 构建基础设施的下一步是什么

主要观点:即将有风暴来临,需重新架构构建基础设施。Buildbot 无法满足 Flathub 的需求,2019 年的一些 hack 如今在最新版本的 Buildbot 中不再适用,导致软分叉 stuck 在 2021 年版本,同时 GitHub CI 状态更新出现问题,需定期重启,且作者不喜欢当前的 Buildbot。Equinix Metal 即将关闭,需搬离服务器。因此要从头开始重新架构。
关键信息:

  • webhook-proxy:作为中间件,接收 GitHub 的 payload 并标记新的 pull 请求为待 CI,若 Buildbot 的 webhook 端点响应非 200 则重新发送,用 Python 编写。
  • justpak:未来 Buildbot 替代品的重要部分,对 CI/CD 实现不敏感,用 just 执行任务,通过 GitHub Actions 和 GNOME GitLab 实现管道,不同大小的应用适合不同的平台,工作进展 repo 为https://github.com/barthalion/justpak
  • The rest of the owl:关键部分缺失,即封装业务逻辑的服务,正在开始研究使用哪种语言和框架,若有需求可在https://github.com/flathub-infra/vorarbaiter/issues提出。
    重要细节:
  • Buildbot 从未设计用于处理像应用 ID 这样的任意输入并动态创建新管道。
  • 2025 年的 hack 失效,导致软分叉问题和 GitHub CI 状态更新问题。
  • Equinix Metal 已赞助服务器 5 年,将于 2025 年 4 月底关闭。
  • 不同应用在 GitHub Actions 和 GNOME GitLab 上的构建时间不同,较小的应用适合 GitHub Actions,较大的如 Chromium 等需在 GNOME GitLab 处理。
  • 作者最初担心替换 aarch64 运行器,现在 GitHub 已提供。
  • 已提交 Flathub 到 Works on Arm 程序,若被接受将类似处理 x86_64。
阅读 8
0 条评论