Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
code

GitHub Action

ruff-action

v1.1.0

ruff-action

code

ruff-action

A GitHub Action to run Ruff, an extremely fast Python linter and code formatter

Installation

Copy and paste the following snippet into your .yml file.

              

- name: ruff-action

uses: astral-sh/[email protected]

Learn more about this action in astral-sh/ruff-action

Choose a version

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: chartboost/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: chartboost/ruff-action@v1
  with:
    version: 0.2.2

Specify a different source directory

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

Use ruff format

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

Only run ruff on changed files

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

License

Apache