/ruff-action

A GitHub Action for Ruff

Primary LanguagePythonApache License 2.0Apache-2.0

Warning

This repository is no longer actively maintained. It is strongly suggested that you use the officially-supported Ruff action from Astral.

ruff-action

A GitHub Action for Ruff

Ruff can now be used as a GitHub Action.

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. By default, latest release of Ruff. You can pin a version, or use any valid version specifier.
  • args: You can specify the arguments to pass to the ruff command. By default, it's check.
  • src: default, '.'

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'