Run experiments across parts of the Rust ecosystem!
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
assets report: include archives containing all the logs Sep 22, 2018
ci minicrater: show output only on CI Oct 23, 2018
docker Allow use of a smaller environment for local testing Oct 17, 2017
docs docs/agent-machine-setup: start the docker daemon at boot Sep 5, 2018
local-crates minicrater: test network access and memory limit Oct 20, 2018
src Auto merge of #353 - pietroalbini:minicrater, r=pietroalbini Oct 21, 2018
templates Fix broken template Oct 16, 2018
tests minicrater: add multithread test Oct 23, 2018
.appveyor.yml ci: only test bors branches and refactor travis config Oct 19, 2018
.gitattributes Initial Oct 19, 2016
.gitignore minicrater: split the suite into a small run and a full run Oct 21, 2018
.travis.yml ci: run minicrater on its own builder Oct 21, 2018
CONTRIBUTING.md Remove references to alternate way to run clippy Oct 8, 2018
Cargo.lock minicrater: add multithread test Oct 23, 2018
Cargo.toml minicrater: add multithread test Oct 23, 2018
README.md contributing: create document Oct 2, 2018
blacklist.md Update blacklist.md Apr 24, 2018
build.rs build.rs: keep track of git commit changes Sep 25, 2018
config.toml config: add full support for local crates Oct 20, 2018
find-bad-crates.py Find crates that have never passed Mar 20, 2018
rustfmt.toml Update rustfmt.toml May 18, 2018
todo.md Allow capping lints with define-ex's --cap-lints Apr 2, 2018
tokens.example.toml tokens: correctly handle S3 tokens Jun 12, 2018

README.md

Crater Build Status

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 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: