mirror of https://github.com/astral-sh/ruff
Add documentation for `ruff-action` (GitHub Action!) (#3857)
This commit is contained in:
parent
60f6a8571a
commit
e006b922a6
14
README.md
14
README.md
|
|
@ -145,6 +145,20 @@ Ruff can also be used as a [pre-commit](https://pre-commit.com) hook:
|
||||||
Ruff can also be used as a [VS Code extension](https://github.com/charliermarsh/ruff-vscode) or
|
Ruff can also be used as a [VS Code extension](https://github.com/charliermarsh/ruff-vscode) or
|
||||||
alongside any other editor through the [Ruff LSP](https://github.com/charliermarsh/ruff-lsp).
|
alongside any other editor through the [Ruff LSP](https://github.com/charliermarsh/ruff-lsp).
|
||||||
|
|
||||||
|
Ruff can also be used as a [GitHub Action](https://github.com/features/actions) via
|
||||||
|
[`ruff-action`](https://github.com/chartboost/ruff-action):
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
name: Ruff
|
||||||
|
on: [ push, pull_request ]
|
||||||
|
jobs:
|
||||||
|
ruff:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: chartboost/ruff-action@v1
|
||||||
|
```
|
||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
Ruff can be configured through a `pyproject.toml`, `ruff.toml`, or `.ruff.toml` file (see:
|
Ruff can be configured through a `pyproject.toml`, `ruff.toml`, or `.ruff.toml` file (see:
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,8 @@ You can run Ruff in `--watch` mode to automatically re-run on-change:
|
||||||
ruff check path/to/code/ --watch
|
ruff check path/to/code/ --watch
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## pre-commit
|
||||||
|
|
||||||
Ruff can also be used as a [pre-commit](https://pre-commit.com) hook:
|
Ruff can also be used as a [pre-commit](https://pre-commit.com) hook:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
|
@ -33,7 +35,7 @@ Or, to enable autofix:
|
||||||
rev: 'v0.0.260'
|
rev: 'v0.0.260'
|
||||||
hooks:
|
hooks:
|
||||||
- id: ruff
|
- id: ruff
|
||||||
args: [--fix, --exit-non-zero-on-fix]
|
args: [ --fix, --exit-non-zero-on-fix ]
|
||||||
```
|
```
|
||||||
|
|
||||||
Ruff's pre-commit hook should be placed after other formatting tools, such as Black and isort,
|
Ruff's pre-commit hook should be placed after other formatting tools, such as Black and isort,
|
||||||
|
|
@ -41,5 +43,55 @@ _unless_ you enable autofix, in which case, Ruff's pre-commit hook should run _b
|
||||||
and other formatting tools, as Ruff's autofix behavior can output code changes that require
|
and other formatting tools, as Ruff's autofix behavior can output code changes that require
|
||||||
reformatting.
|
reformatting.
|
||||||
|
|
||||||
|
### VS Code
|
||||||
|
|
||||||
Ruff can also be used as a [VS Code extension](https://github.com/charliermarsh/ruff-vscode) or
|
Ruff can also be used as a [VS Code extension](https://github.com/charliermarsh/ruff-vscode) or
|
||||||
alongside any other editor through the [Ruff LSP](https://github.com/charliermarsh/ruff-lsp).
|
alongside any other editor through the [Ruff LSP](https://github.com/charliermarsh/ruff-lsp).
|
||||||
|
|
||||||
|
### GitHub Action
|
||||||
|
|
||||||
|
Ruff can also be used as a GitHub Action via [`ruff-action`](https://github.com/chartboost/ruff-action).
|
||||||
|
|
||||||
|
By default, `ruff-action` runs as a pass-fail test to ensure that a given repository doesn't contain
|
||||||
|
any lint rule violations as per its [configuration](https://github.com/charliermarsh/ruff/blob/main/docs/configuration.md).
|
||||||
|
However, under-the-hood, `ruff-action` installs and runs `ruff` directly, so it can be used to
|
||||||
|
execute any supported `ruff` command (e.g., `ruff check --fix`).
|
||||||
|
|
||||||
|
`ruff-action` supports all GitHub-hosted runners, and can be used with any published Ruff version
|
||||||
|
(i.e., any version available on [PyPI](https://pypi.org/project/ruff/)).
|
||||||
|
|
||||||
|
To use `ruff-action`, create a file (e.g., `.github/workflows/ruff.yml`) inside your repository
|
||||||
|
with:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
name: Ruff
|
||||||
|
on: [ push, pull_request ]
|
||||||
|
jobs:
|
||||||
|
ruff:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: chartboost/ruff-action@v1
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, you can include `ruff-action` as a step in any other workflow file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- uses: chartboost/ruff-action@v1
|
||||||
|
```
|
||||||
|
|
||||||
|
`ruff-action` accepts optional configuration parameters via `with:`, including:
|
||||||
|
|
||||||
|
- `version`: The Ruff version to install (default: latest).
|
||||||
|
- `options`: The command-line arguments to pass to Ruff (default: `"check"`).
|
||||||
|
- `src`: The source paths to pass to Ruff (default: `"."`).
|
||||||
|
|
||||||
|
For example, to run `ruff check --select B ./src` using Ruff version `0.0.259`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- uses: chartboost/ruff-action@v1
|
||||||
|
with:
|
||||||
|
src: "./src"
|
||||||
|
version: 0.0.259
|
||||||
|
args: --select B
|
||||||
|
```
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue