Skip to content

rust-lang/crater

Repository files navigation

Crater

Crater is a tool to run experiments across parts of the Rust ecosystem. Its primary purpose is to detect regressions in the Rust compiler, and it does this by building a large number of crates, running their test suites and comparing the results between two versions of the Rust compiler.

It can operate locally (with Docker as the only dependency) or distributed on the cloud. It only works on Linux at the moment, and it's licensed under both the MIT and Apache 2.0 licenses.

The current features of Crater are:

  • Discover Rust codebases on crates.io and GitHub
  • Execute experiments on custom Rust toolchains
  • Run cargo build and cargo test over all the discovered codebases
  • Build and test without dependency updates or network access
  • Run arbitrary tests over all the discovered codebases
  • Generate HTML reports with results and logs
  • Isolate tests in Docker containers

Crater is a successor to taskcluster-crater. It was subsequently named cargobomb before resuming the Crater name.

⚠️ DO NOT RUN CRATER IN AN UNSANDBOXED ENVIRONMENT ⚠️
Crater executes malicious code that will destroy what you love.

Documentation

Want to contribute to Crater? Check out the contribution guide.

User documentation:

Operations documentation:

Technical documentation: