Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/actions-rs/clippy-check
📎 GitHub Action for PR annotations with clippy warnings
https://github.com/actions-rs/clippy-check
cargo clippy github lint linter pull-requests rust rust-lang
Last synced: 1 day ago
JSON representation
📎 GitHub Action for PR annotations with clippy warnings
- Host: GitHub
- URL: https://github.com/actions-rs/clippy-check
- Owner: actions-rs
- License: mit
- Archived: true
- Created: 2019-09-26T10:26:28.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-10T02:12:22.000Z (almost 2 years ago)
- Last Synced: 2024-10-30T08:31:21.709Z (14 days ago)
- Topics: cargo, clippy, github, lint, linter, pull-requests, rust, rust-lang
- Language: TypeScript
- Homepage: https://github.com/marketplace/actions/rust-clippy-check
- Size: 2.13 MB
- Stars: 289
- Watchers: 5
- Forks: 41
- Open Issues: 44
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Rust `clippy-check` Action
![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)
[![Gitter](https://badges.gitter.im/actions-rs/community.svg)](https://gitter.im/actions-rs/community)> Clippy lints in your Pull Requests
This GitHub Action executes [`clippy`](https://github.com/rust-lang/rust-clippy)
and posts all lints as annotations for the pushed commit, as in the live example [here](https://github.com/actions-rs/example/pull/2/files).![Screenshot](./.github/screenshot.png)
## Example workflow
This example is utilizing [`toolchain`](https://github.com/actions-rs/toolchain) Actions
to install the most recent `nightly` clippy version.```yaml
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-features
```### With stable clippy
```yaml
on: 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
```## Inputs
| 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`](https://github.com/rust-embedded/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](https://github.com/actions-rs/cargo#inputs) 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.## Limitations
Due to [token permissions](https://help.github.com/en/articles/virtual-environments-for-github-actions#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](https://github.com/actions-rs/clippy-check/issues/2) for details.\
As a fallback this Action will output all clippy messages into the stdout
and fail the result correspondingly.