Skip to content

Commit d0ad0c7

Browse files
committed
add a bit about crater
1 parent 37c68db commit d0ad0c7

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

src/tests/intro.md

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,38 @@ communicate with the server to coordinate running tests (see
170170

171171
## Crater
172172

173-
TODO
173+
[Crater](https://github.com/rust-lang-nursery/crater) is a tool for compiling
174+
and running tests for _every_ crate on [crates.io](https://crates.io/). It is
175+
mainly used for checking for extent of breakage when implementing potentially
176+
breaking changes.
177+
178+
### When to run Crater
179+
180+
You should request a crater run if your PR makes large changes to the compiler
181+
or could cause breakage. If you are unsure, feel free to ask your PR's reviewer.
182+
183+
### Requesting Crater Runs
184+
185+
The rust team maintains a few machines that can be used for running crater runs
186+
on the changes introduced by a PR. If your PR needs a crater run, leave a
187+
comment for the triage team in the PR thread. Your will be enqueued by the
188+
triage team and the results will be posted when they are ready. A crater run
189+
usually takes a few days (as of this writing).
190+
191+
While crater is really useful, it is also important to be aware of a few caveats:
192+
193+
- Not all code is on crates.io! There is a lot of code in repos on GitHub and
194+
elsewhere. Also, companies may not wish to publish their code. Thus, a
195+
successful crater run is not a magically green light that there will be no
196+
breakage; you still need to be careful.
197+
198+
- Crater only runs Linux builds (on x86_64, I believe). Thus, other
199+
architectures and platforms are not tested. Critically, this includes
200+
Windows.
201+
202+
- Many crates are not tested. This could be for a lot of reasons, including
203+
that the crate doesn't compile any more (e.g. used old nightly features),
204+
has broken or flaky tests, requires network access, or other reasons.
174205

175206
## Further reading
176207

0 commit comments

Comments
 (0)