|
3 | 3 | Rust CI ensures that the master branch of rust-lang/rust is always in a valid state.
|
4 | 4 |
|
5 | 5 | A developer submitting a pull request to rust-lang/rust, experiences the following:
|
6 |
| -* A small subset of tests and checks are run on each commit to catch common errors. |
7 |
| -* When the PR is ready and approved, the "bors" tool enqueues a full CI run. |
8 |
| -* The full run is either performed or the PR is "rolled up" with other changes. |
9 |
| -* Eventually a CI run containing the changes from the PR is performed and either passes or fails with an error the developer must address. |
| 6 | + |
| 7 | +- A small subset of tests and checks are run on each commit to catch common errors. |
| 8 | +- When the PR is ready and approved, the "bors" tool enqueues a full CI run. |
| 9 | +- The full run is either performed or the PR is "rolled up" with other changes. |
| 10 | +- Eventually a CI run containing the changes from the PR is performed and either passes or fails with an error the developer must address. |
10 | 11 |
|
11 | 12 | ## Which jobs we run
|
12 | 13 |
|
@@ -84,9 +85,10 @@ single failure greatly impacts our throughput for the day. The maximum number
|
84 | 85 | of PRs we can merge in a day is around 8.
|
85 | 86 |
|
86 | 87 | The large CI run times and requirement for a large builder pool is worth it because it:
|
87 |
| -* allows perf testing even at a later date |
88 |
| -* allows bisection when bugs are discover later |
89 |
| -* ensures release quality since if we're always releasing, we catch problems very early |
| 88 | + |
| 89 | +- allows perf testing even at a later date |
| 90 | +- allows bisection when bugs are discover later |
| 91 | +- ensures release quality since if we're always releasing, we catch problems very early |
90 | 92 |
|
91 | 93 | Bors [runs on ecs](https://github.com/rust-lang/simpleinfra/blob/master/terraform/bors/app.tf) and uses a sqlite database running in a volume as storage.
|
92 | 94 |
|
@@ -241,9 +243,9 @@ GitHub Actions does not natively support templating which can cause configuratio
|
241 | 243 |
|
242 | 244 | This templating language is fairly straightforward:
|
243 | 245 |
|
244 |
| -* `&` indicates a template section |
245 |
| -* `*` expands the indicated template in place |
246 |
| -* `<<` merges yaml dictionaries |
| 246 | +- `&` indicates a template section |
| 247 | +- `*` expands the indicated template in place |
| 248 | +- `<<` merges yaml dictionaries |
247 | 249 |
|
248 | 250 | [rust-toolstate]: https://rust-lang-nursery.github.io/rust-toolstate
|
249 | 251 | [toolstate documentation]: ../toolstate.md
|
|
0 commit comments