/ruff-action

A GitHub Action to run Ruff

Primary LanguagePythonApache License 2.0Apache-2.0

ruff-action

Note

This Action is a fork of chartboost/ruff-action, which is no longer maintained. The Action is largely unchanged, but will be overhauled in a future major release.

A GitHub Action to run Ruff.

This action is commonly used as a pass/fail test to ensure your repository stays clean, abiding the Rules specified in your configuration. Though it runs ruff, the action can do anything ruff can (ex, fix).

Compatibility

This action is known to support all GitHub-hosted runner OSes. It likely can run on self-hosted runners, but might need specific dependencies. Only published versions of Ruff are supported (i.e., whatever is available on PyPI).

Basic Usage

Create a file (ex: .github/workflows/ruff.yml) inside your repository with:

name: Ruff
on: [push, pull_request]
jobs:
  ruff:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: astral-sh/ruff-action@v1

Advanced Usage

The Ruff action can be customized via optional configuration parameters passed to Ruff (using with:):

  • version: Must be a Ruff release available on PyPI. Defaults to the latest Ruff release. You can pin a version, or use any valid version specifier.
  • args: The arguments to pass to the ruff command. Defaults to check, which lints the current directory.
  • src: The directory to run ruff in. Defaults to the root of the repository.

See Configuring Ruff for details

Use a different ruff version

- uses: astral-sh/ruff-action@v1
  with:
    version: 0.2.2

Specify a different source directory

- uses: astral-sh/ruff-action@v1
  with:
    src: "./src"

Use ruff format

- uses: astral-sh/ruff-action@v1
  with:
    args: "format --check"

Only run ruff on changed files

- uses: astral-sh/ruff-action@v1
  with:
    changed-files: "true"

License

Apache

Made by Astral