Skip to content

Commit 831a89b

Browse files
authored
Merge pull request #656 from pietroalbini/gha
Add blog post about moving Rust's CI to GitHub Actions
2 parents 1a65620 + 54c52b2 commit 831a89b

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
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

Comments
 (0)