blob: e75f97e5385d65f0efe074230117fc53512cefab [file] [log] [blame] [view]
# [cargo-deny](https://github.com/EmbarkStudios/cargo-deny)
cargo-deny is a cargo plugin that lets you lint your project's dependency graph to ensure all your dependencies conform to your expectations and requirements.
## Quickstart
Installs cargo-deny, initializes your project with a default configuration, then runs all of the checks against your project.
```bash
cargo install --locked cargo-deny && cargo deny init && cargo deny check
```
## Command Line Interface
cargo-deny is intended to be used as a [Command Line Tool](cli/index.html), see the link for the available commands and options.
## Checks
cargo-deny supports several classes of checks, see [Checks](checks/index.html) for the available checks and their configuration options.
## API
cargo-deny is primarily meant to be used as a cargo plugin, but a majority of its functionality is within a library whose docs you may view on [docs.rs](https://docs.rs/cargo-deny)
## GitHub Action
For GitHub projects, one can run cargo-deny automatically as part of continuous integration using a GitHub Action:
```yaml
name: CI
on: [push, pull_request]
jobs:
cargo-deny:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: EmbarkStudios/cargo-deny-action@v1
```
For more information, see [`cargo-deny-action`](https://github.com/EmbarkStudios/cargo-deny-action) repository.