Rustfmt suggestions in your Pull Requests
This GitHub Action executes rustfmt and posts all suggestions as annotations for the pushed commit 2.
This GitHub Action is based on clechasseur/rs-clippy-check, which itself has been forked from actions-rs/clippy-check. See LICENSE for copyright attribution details.
Note: this workflow uses actions-rust-lang/setup-rust-toolchain to install the most recent nightly rustfmt 1.
name: Rustfmt check
on: push
jobs:
rustfmt_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions-rust-lang/setup-rust-toolchain@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
toolchain: nightly
components: rustfmt
- uses: clechasseur/rs-fmt-check@v4.0.5All inputs are optional.
| Name | Description | Type | Default |
|---|---|---|---|
toolchain |
Rust toolchain to use 1 | string | nightly |
args |
Arguments for the cargo fmt command |
string | |
working-directory |
Directory where to perform the cargo fmt command |
string |
For extra details about the toolchain and args inputs, see rs-cargo Action.
Starting with release 4.0.0, this GitHub action's releases will be marked as immutable. This means that once a release is created, its tag cannot be modified in any way.
Previously, best practices for using GitHub actions in workflows were to pin the actions to a specific Git commit hash. With immutable releases, this is no longer necessary and the actual Git tag is safe to use. Because of this, starting with release 4.0.0, this GitHub action will no longer provide a floating major version tag (like v4, for example). To use a specific version of this action, pin it to the release tag (like v4.0.0).
1 : This action currently relies on an unstable rustfmt feature (emit json) and as such, requires a nightly toolchain at the minimum. You should not change the value of the toolchain parameter unless you know the specified toolchain supports the feature correctly.
2 : Currently, GitHub sets a limit of 10 warning annotations per run (see this page for more information). So if there are more than 10 suggestions returned by rustfmt, only the first 10 will appear as PR annotations. The other suggestions will still appear in the check run summary (see this one for example).
