rustfmt-check icon indicating copy to clipboard operation
rustfmt-check copied to clipboard

GitHub Action to format Rust code using rustfmt

rustfmt-check

GitHub Action to format Rust code using rustfmt.

This action can be used to keep Rust code formatted correctly.

Modes

This action supports two different modes. The commit mode is the default mode.

Commit

A commit is pushed when formatting is required.

Example

on: push

name: Rustfmt

jobs:
  format:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt
      - uses: mbrobbel/rustfmt-check@master
        with:
          token: ${{ secrets.GITHUB_TOKEN }}

Commit mode

Review

The action reviews the PR, either requesting formatting changes, or approving if no formatting is required.

Example

on: pull_request

name: Rustfmt

jobs:
  format:
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@nightly
        with:
          components: rustfmt
      - uses: mbrobbel/rustfmt-check@master
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          mode: review

Review mode

Please note that this mode requires:

Arguments

See action.yml.