Clippy lints in your Pull Requests
This GitHub Action executes clippy
and posts all lints as annotations for the pushed commit, as in the live example here.
This example is utilizing toolchain Actions
to install the most recent nightly clippy version.
on: push
name: Clippy check
jobs:
clippy_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
components: clippy
override: true
- uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-featureson: push
name: Clippy check
jobs:
clippy_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- run: rustup component add clippy
- uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features| Name | Required | Description | Type | Default |
|---|---|---|---|---|
token |
β | GitHub secret token, usually a ${{ secrets.GITHUB_TOKEN }} |
string | |
toolchain |
Rust toolchain to use; override or system default toolchain will be used if omitted | string | ||
args |
Arguments for the cargo clippy command |
string | ||
use-cross |
Use cross instead of cargo |
bool | false | |
name |
Name of the created GitHub check. If running this action multiple times, each run must have a unique name. | string | clippy |
For extra details about the toolchain, args and use-cross inputs,
see cargo Action documentation.
NOTE: if your workflow contains multiple instances of the clippy-check action you will need to give each invocation a unique name, using the name property described above.
Check runs must have a unique name, and this prevents a later check run overriding a previous one within the same workflow.
Due to token permissions,
this Action WILL NOT be able to post clippy annotations for Pull Requests from the forked repositories.
This is a pretty big problem, which can be solved only by Github themselves,
see #2 for details.
As a fallback this Action will output all clippy messages into the stdout
and fail the result correspondingly.
