Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a bit about crater #151

Merged
merged 6 commits into from Jun 5, 2018
Merged

Add a bit about crater #151

merged 6 commits into from Jun 5, 2018

Conversation

mark-i-m
Copy link
Member

@mark-i-m mark-i-m commented Jun 4, 2018

closes #10

r? @Mark-Simulacrum

Copy link
Member

@Mark-Simulacrum Mark-Simulacrum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you so much for writing this up!

@@ -170,7 +170,38 @@ communicate with the server to coordinate running tests (see

## Crater

TODO
[Crater](https://github.com/rust-lang-nursery/crater) is a tool for compiling
and running tests for _every_ crate on [crates.io](https://crates.io/). It is
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and also many crates from GitHub... I'm not exactly sure what the search parameters are, but I know we at least try.

[Crater](https://github.com/rust-lang-nursery/crater) is a tool for compiling
and running tests for _every_ crate on [crates.io](https://crates.io/). It is
mainly used for checking for extent of breakage when implementing potentially
breaking changes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and ensuring lack of breakage by running beta vs. stable "builds."

on the changes introduced by a PR. If your PR needs a crater run, leave a
comment for the triage team in the PR thread. Your will be enqueued by the
triage team and the results will be posted when they are ready. A crater run
usually takes a few days (as of this writing).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please inform the team whether you require a "check-only" crater run, a "build only" crater run, or a "build-and-test" crater run. The difference is primarily in time; the conservative (if you're not sure) option is to go for the build-and-test run. If making changes that will only have an effect at compile-time (e.g., implementing a new trait) then you only need a check run.

Check runs will take around ~3-4 days, with the other two taking 5-6 days on average.

successful crater run is not a magically green light that there will be no
breakage; you still need to be careful.

- Crater only runs Linux builds (on x86_64, I believe). Thus, other
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we only test / compile for x86_64-unknown-linux-gnu.

@mark-i-m
Copy link
Member Author

mark-i-m commented Jun 4, 2018

@Mark-Simulacrum Thanks for the feedback! I basically copy/pasted what you wrote :)

Also I added

  • that @bors try needs to pass (that's true, right?).
  • a little about perf runs

has broken or flaky tests, requires network access, or other reasons.

- Before crater can be run, `@bors try` needs to suceed. This means that if
your code doesn't compile or fails tests, you cannot run crater.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Failing tests is currently acceptable (we don't run them); we just need the code to compile on x86_64-unknown-linux-gnu.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed. Thanks

that the crate doesn't compile any more (e.g. used old nightly features),
has broken or flaky tests, requires network access, or other reasons.

- Before crater can be run, `@bors try` needs to suceed in building artifacts.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/suceed/succeed

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

Copy link
Member

@Mark-Simulacrum Mark-Simulacrum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you want to squash and merge (not sure what the process here is), I'm happy with the changes.

@mark-i-m
Copy link
Member Author

mark-i-m commented Jun 5, 2018

Thanks!

@mark-i-m mark-i-m merged commit 63eaf6b into rust-lang:master Jun 5, 2018
@mark-i-m mark-i-m deleted the crater branch June 15, 2019 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

"Using the compiler testing framework"
2 participants