mirror of https://github.com/astral-sh/ruff
34 lines
1.6 KiB
Docker
34 lines
1.6 KiB
Docker
# [crater](https://github.com/rust-lang/crater)-inspired check that tests against a large number of
|
|
# projects, mainly from https://github.com/akx/ruff-usage-aggregate.
|
|
#
|
|
# We run this in a Docker container as Ruff isn't designed for untrusted inputs.
|
|
#
|
|
# Either download https://github.com/akx/ruff-usage-aggregate/blob/master/data/known-github-tomls.jsonl as
|
|
# `github_search.jsonl` or follow the instructions in the README to scrape your own dataset.
|
|
#
|
|
# Setup:
|
|
# ```
|
|
# apt-get install musl-tools # or corresponding command to install musl on your platform, e.g. `yay musl`
|
|
# rustup target add x86_64-unknown-linux-musl
|
|
# ```
|
|
# From the project root:
|
|
# ```
|
|
# cargo build --target x86_64-unknown-linux-musl --features ecosystem_ci
|
|
# docker buildx build -f scripts/Dockerfile.ecosystem -t ruff-ecosystem-checker --load .
|
|
# docker run --rm -v ./target/x86_64-unknown-linux-musl/debug/ruff:/app/ruff-new -v ./ruff-old:/app/ruff-old ruff-ecosystem-checker
|
|
# ```
|
|
# You can customize this, e.g. cache the git checkouts and use a custom json file:
|
|
# ```
|
|
# docker run -v ./target/x86_64-unknown-linux-musl/debug/ruff:/app/ruff-new -v ./ruff-old:/app/ruff-old \
|
|
# -v ./target/checkouts:/app/checkouts -v ./github_search.jsonl:/app/github_search.jsonl \
|
|
# --rm ruff-ecosystem-checker python check_ecosystem.py -v ruff-new ruff-old --checkouts checkouts > output.txt
|
|
# ```
|
|
|
|
FROM python:3.11
|
|
RUN mkdir /app
|
|
WORKDIR /app
|
|
ADD scripts/check_ecosystem.py check_ecosystem.py
|
|
ADD github_search.jsonl github_search.jsonl
|
|
|
|
CMD ["python", "check_ecosystem.py", "--verbose", "--projects", "github_search.jsonl", "ruff-new", "ruff-old"]
|