|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "Rust's CI is moving to GitHub Actions" |
| 4 | +author: Pietro Albini |
| 5 | +team: the infrastructure team <https://www.rust-lang.org/governance/teams/operations#infra> |
| 6 | +--- |
| 7 | + |
| 8 | +The Rust Infrastructure Team is happy to announce that, as part of the |
| 9 | +[evaluation we started last year][eval], most of Rust’s CI is moving to GitHub |
| 10 | +Actions! While we don’t expect the change to have any impact on our users, the |
| 11 | +switch will considerably improve the experience for compiler contributors. |
| 12 | + |
| 13 | +One of the major pain points for compiler contributors over the past few years |
| 14 | +has been waiting for PRs to be merged. We value having an always-green master |
| 15 | +branch, and to ensure that, we test and merge just one PR at a time, with the |
| 16 | +other approved ones [waiting in the queue][homu]. Our CI is extensive too, with |
| 17 | +57 machines building and testing the compiler across all the platforms we |
| 18 | +support. On our previous system, each of those builders took between three to |
| 19 | +four hours to finish. Combined with testing one PR at a time, this often causes |
| 20 | +PRs to wait in the queue for days before being tested. |
| 21 | + |
| 22 | +Making the CI setup faster is a permanent goal of the Infrastructure Team, and |
| 23 | +GitHub Actions provided us with a great opportunity to improve landing time: |
| 24 | +GitHub offered to sponsor a fully managed, private pool of 8-core VMs to run |
| 25 | +our builds on, which is a big improvement compared to the 2-core VMs we were |
| 26 | +previously using. GitHub Actions also provides most of the features we loved |
| 27 | +about Azure Pipelines while being integrated with GitHub’s permissions and UI, |
| 28 | +which made the switch even more fruitful. |
| 29 | + |
| 30 | +As of July 22nd, all the CI builds for the [rust-lang/rust] repository except |
| 31 | +for macOS builds are running exclusively on GitHub Actions! We’re still running |
| 32 | +macOS builds on Azure Pipelines for the time being, as we’re waiting on GitHub |
| 33 | +to fix [issue #71988][71988], but we hope to move them to GitHub Actions soon. |
| 34 | + |
| 35 | +We’d like to thank GitHub for sponsoring our CI builders and Microsoft for the |
| 36 | +Azure Pipelines capacity we used over the past year. |
| 37 | + |
| 38 | +[eval]: https://blog.rust-lang.org/inside-rust/2019/11/14/evaluating-github-actions.html |
| 39 | +[homu]: https://bors.rust-lang.org/queue/rust |
| 40 | +[rust-lang/rust]: https://github.com/rust-lang/rust |
| 41 | +[71988]: https://github.com/rust-lang/rust/issues/71988 |
0 commit comments