⚠️ Stop saying "you forgot to …" in code review
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
fixtures
screenshots
src
.gitignore
.travis.yml
Cargo.lock
Cargo.toml
LICENSE
README.md

README.md

Danger in Rust

Build Status

This is the minimal version of running Danger in Rust. It is a cargo module which expects the JSON DSL from Danger JS and provides a type-safe way to interact with it from inside the app.

screenshots/wip1.png

Next Steps

  • Figure out the distribution method to get it running on other people's CI
  • Compiling a Rust dangerfile danger.rs and injecting that with the additional runtime work (passing data in/out)
  • Creating commands for ci, pr, local
  • Error handling

I'm learning everything from scratch, so, some of these may take quite a while.

Contributing

Building Danger

cargo run --bin danger-rust

Running Danger in Dev

This is how you can test out how things work:

# Pipe the JSON in and potentially compile + exec
cat fixtures/danger-js-697.json | cargo run --bin danger-rust

# Or, build then compile

# build the binary
cargo build --bin danger-rust
# Run it and pipe in the JSON to STDIN
cat fixtures/danger-js-697.json | ./target/debug/danger-rust

Scripts

Update the Rust Types from the JSON schema of Danger's DSL

cargo run --bin update_types

Grab a Danger JS incoming JSON example

# uses danger-js the `--dangerfile xxyy` is a bug
danger pr https://github.com/danger/danger-js/pull/697 --json > fixtures/danger-js-697.json --dangerfile LICENSE