mirror of
https://github.com/astral-sh/ruff.git
synced 2025-07-30 08:23:53 +00:00

Extends https://github.com/astral-sh/ruff/pull/8416 activating the `black-and-ruff` and `black-then-ruff` formatter comparison modes for ecosystem checks allowing us to compare changes to Black across the ecosystem.
61 lines
1.7 KiB
Markdown
61 lines
1.7 KiB
Markdown
# ruff-ecosystem
|
|
|
|
Compare lint and format results for two different ruff versions (e.g. main and a PR) on real world projects.
|
|
|
|
## Installation
|
|
|
|
From the Ruff project root, install with `pip`:
|
|
|
|
```shell
|
|
pip install -e ./python/ruff-ecosystem
|
|
```
|
|
|
|
## Usage
|
|
|
|
```shell
|
|
ruff-ecosystem <check | format> <baseline executable> <comparison executable>
|
|
```
|
|
|
|
Note executable paths may be absolute, relative to the current working directory, or will be looked up in the
|
|
current Python environment and PATH.
|
|
|
|
Run `ruff check` ecosystem checks comparing your debug build to your system Ruff:
|
|
|
|
```shell
|
|
ruff-ecosystem check ruff "./target/debug/ruff"
|
|
```
|
|
|
|
Run `ruff format` ecosystem checks comparing your debug build to your system Ruff:
|
|
|
|
```shell
|
|
ruff-ecosystem format ruff "./target/debug/ruff"
|
|
```
|
|
|
|
Run `ruff format` ecosystem checks comparing with changes to code that is already formatted:
|
|
|
|
```shell
|
|
ruff-ecosystem format ruff "./target/debug/ruff" --format-comparison ruff-then-ruff
|
|
```
|
|
|
|
Run `ruff format` ecosystem checks comparing with the Black formatter:
|
|
|
|
```shell
|
|
ruff-ecosystem format black ruff -v --cache python/checkouts --format-comparison black-and-ruff
|
|
```
|
|
|
|
The default output format is markdown, which includes nice summaries of the changes. You can use `--output-format json` to display the raw data — this is
|
|
particularly useful when making changes to the ecosystem checks.
|
|
|
|
## Development
|
|
|
|
When developing, it can be useful to set the `--pdb` flag to drop into a debugger on failure:
|
|
|
|
```shell
|
|
ruff-ecosystem check ruff "./target/debug/ruff" --pdb
|
|
```
|
|
|
|
You can also provide a path to cache checkouts to speed up repeated runs:
|
|
|
|
```shell
|
|
ruff-ecosystem check ruff "./target/debug/ruff" --cache ./repos
|
|
```
|