评估 GitHub Actions

2019年11月14日 · Pietro Albini 代表 基础设施团队

Rust 基础设施团队很高兴地宣布,我们正在开始评估 GitHub Actions,以替代 Azure Pipelines 作为 rust-lang/rust 仓库的 CI 提供商。

自从一开始,我们就参与了 GitHub Actions 的测试版,密切关注其开发并在我们组织的许多较小的仓库中对其进行了测试,到目前为止,我们对该产品非常满意。GitHub Actions 提供了我们喜欢 Azure Pipelines 的大多数功能,同时与 GitHub 的 UI、权限和工作流程集成。

GitHub 还主动赞助了一个具有更多资源的专用构建池。我们广泛但耗时的 CI 是编译器贡献者的主要痛点之一,而额外的资源有可能极大地改善我们开发人员的体验。由于专用构建池中增加了核心数量,我们在初步测试中实现了 60% 的更快构建,并且仍有很大的并行化空间以更快地完成构建。

我们的计划是在接下来的几周内开始与 Azure Pipelines 并行运行 GitHub Actions,我们将随着我们了解更多信息而更新社区。


[更新] 社区的一些成员询问为什么我们在迁移到 Azure Pipelines 后这么快就考虑切换。我们想重申,我们对 Pipelines 作为产品感到满意,但 Microsoft 和 GitHub 都要求我们尝试 GitHub Actions,因为它更紧密地集成到我们已经使用的 GitHub 工作流程中。在我们将其在其他存储库中使用一段时间后,我们对它感到满意,足以开始评估 rustc CI 的迁移。