Rust 基础设施团队很高兴地宣布,作为我们去年开始的评估的一部分,Rust 的大部分 CI 正在迁移到 GitHub Actions!虽然我们不希望此更改对我们的用户产生任何影响,但此切换将大大改善编译器贡献者的体验。
在过去的几年中,编译器贡献者的一个主要痛点是等待 PR 被合并。我们重视始终保持绿色状态的 master 分支,为了确保这一点,我们一次只测试和合并一个 PR,其他已批准的 PR 在队列中等待。我们的 CI 非常广泛,有 57 台机器在所有我们支持的平台上构建和测试编译器。在我们之前的系统中,每个构建器完成都需要三到四个小时。加上一次测试一个 PR,这通常会导致 PR 在队列中等待数天才能被测试。
使 CI 设置更快是基础设施团队的永久目标,而 GitHub Actions 为我们提供了一个很好的机会来缩短提交时间:GitHub 提出赞助一个完全托管的、私有的 8 核 VM 池来运行我们的构建,这与我们之前使用的 2 核 VM 相比是一个很大的改进。GitHub Actions 还提供了我们喜欢 Azure Pipelines 的大部分功能,同时与 GitHub 的权限和 UI 集成,这使得切换更加有益。
截至 7 月 22 日,rust-lang/rust 存储库的所有 CI 构建(macOS 构建除外)都完全在 GitHub Actions 上运行!我们目前仍在 Azure Pipelines 上运行 macOS 构建,因为我们正在等待 GitHub 修复 issue #71988,但我们希望很快将它们迁移到 GitHub Actions。
我们要感谢 GitHub 赞助我们的 CI 构建器,并感谢 Microsoft 过去一年为我们提供的 Azure Pipelines 容量。