mirror of
https://github.com/astral-sh/ruff.git
synced 2026-05-06 08:56:57 -04:00
155 lines
4.9 KiB
YAML
155 lines
4.9 KiB
YAML
fail_fast: false
|
|
|
|
exclude: |
|
|
(?x)^(
|
|
.github/workflows/release.yml|
|
|
crates/ty_vendored/vendor/.*|
|
|
crates/ty_project/resources/.*|
|
|
crates/ty/docs/(configuration|rules|cli|environment).md|
|
|
crates/ruff_benchmark/resources/.*|
|
|
crates/ruff_linter/resources/.*|
|
|
crates/ruff_linter/src/rules/.*/snapshots/.*|
|
|
crates/ruff_notebook/resources/.*|
|
|
crates/ruff_server/resources/.*|
|
|
crates/ruff/resources/.*|
|
|
crates/ruff_python_formatter/resources/.*|
|
|
crates/ruff_python_formatter/tests/snapshots/.*|
|
|
crates/ruff_python_resolver/resources/.*|
|
|
crates/ruff_python_resolver/tests/snapshots/.*|
|
|
crates/ty_completion_eval/truth/.*
|
|
)$
|
|
|
|
repos:
|
|
# Priority 0: Read-only hooks; hooks that modify disjoint file types.
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v6.0.0
|
|
hooks:
|
|
- id: check-merge-conflict
|
|
priority: 0
|
|
- id: end-of-file-fixer
|
|
# Don't run this on all files: the absence of trailing newlines is often
|
|
# intentional in parser/linter/formatter tests
|
|
files: '^((crates/ty_python_semantic/resources/corpus/.*)|(.*\.toml))$'
|
|
priority: 0
|
|
|
|
- repo: https://github.com/abravalheri/validate-pyproject
|
|
rev: v0.25
|
|
hooks:
|
|
- id: validate-pyproject
|
|
priority: 0
|
|
|
|
- repo: https://github.com/crate-ci/typos
|
|
rev: v1.45.1
|
|
hooks:
|
|
- id: typos
|
|
priority: 0
|
|
|
|
- repo: local
|
|
hooks:
|
|
- id: rustfmt
|
|
name: rustfmt
|
|
entry: rustfmt
|
|
language: system
|
|
types: [rust]
|
|
priority: 0
|
|
# Prettier
|
|
- repo: https://github.com/rbubley/mirrors-prettier
|
|
rev: v3.8.3
|
|
hooks:
|
|
- id: prettier
|
|
types: [yaml]
|
|
priority: 0
|
|
|
|
# zizmor detects security vulnerabilities in GitHub Actions workflows.
|
|
# Additional configuration for the tool is found in `.github/zizmor.yml`
|
|
- repo: https://github.com/zizmorcore/zizmor-pre-commit
|
|
rev: v1.24.1
|
|
hooks:
|
|
- id: zizmor
|
|
priority: 0
|
|
|
|
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
rev: 0.37.1
|
|
hooks:
|
|
- id: check-github-workflows
|
|
priority: 0
|
|
|
|
- repo: https://github.com/shellcheck-py/shellcheck-py
|
|
rev: v0.11.0.1
|
|
hooks:
|
|
- id: shellcheck
|
|
priority: 0
|
|
|
|
- repo: https://github.com/executablebooks/mdformat
|
|
rev: 1.0.0
|
|
hooks:
|
|
- id: mdformat
|
|
language: python # means renovate will also update `additional_dependencies`
|
|
additional_dependencies:
|
|
- mdformat-mkdocs==5.1.4
|
|
- mdformat-footnote==0.1.3
|
|
exclude: |
|
|
(?x)^(
|
|
docs/formatter/black\.md
|
|
| docs/\w+\.md
|
|
)$
|
|
priority: 0
|
|
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
rev: v0.15.11
|
|
hooks:
|
|
- id: ruff-format
|
|
exclude: crates/ty_python_semantic/resources/corpus/
|
|
priority: 0
|
|
- id: ruff-check
|
|
args: [--fix, --exit-non-zero-on-fix]
|
|
types_or: [python, pyi]
|
|
exclude: crates/ty_python_semantic/resources/corpus/
|
|
require_serial: true
|
|
priority: 1
|
|
|
|
# Priority 1: Second-pass fixers (e.g., markdownlint-fix runs after mdformat).
|
|
- repo: https://github.com/igorshubovych/markdownlint-cli
|
|
rev: v0.48.0
|
|
hooks:
|
|
- id: markdownlint-fix
|
|
exclude: |
|
|
(?x)^(
|
|
docs/formatter/black\.md
|
|
| docs/\w+\.md
|
|
)$
|
|
priority: 1
|
|
|
|
# Priority 2: ruffen-docs runs after markdownlint-fix (both modify markdown).
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
rev: v0.15.11
|
|
hooks:
|
|
- id: ruff-format
|
|
name: mdtest format
|
|
types_or: [markdown]
|
|
files: '^crates/.*/resources/mdtest/.*\.md$'
|
|
pass_filenames: true
|
|
priority: 2
|
|
|
|
# `actionlint` hook, for verifying correct syntax in GitHub Actions workflows.
|
|
# Some additional configuration for `actionlint` can be found in `.github/actionlint.yaml`.
|
|
- repo: https://github.com/rhysd/actionlint
|
|
rev: v1.7.12
|
|
hooks:
|
|
- id: actionlint
|
|
stages:
|
|
# This hook is disabled by default, since it's quite slow.
|
|
# To run all hooks *including* this hook, use `uvx prek run -a --hook-stage=manual`.
|
|
# To run *just* this hook, use `uvx prek run -a actionlint --hook-stage=manual`.
|
|
- manual
|
|
args:
|
|
- "-ignore=SC2129" # ignorable stylistic lint from shellcheck
|
|
- "-ignore=SC2016" # another shellcheck lint: seems to have false positives?
|
|
language: golang # means renovate will also update `additional_dependencies`
|
|
additional_dependencies:
|
|
# actionlint has a shellcheck integration which extracts shell scripts in `run:` steps from GitHub Actions
|
|
# and checks these with shellcheck. This is arguably its most useful feature,
|
|
# but the integration only works if shellcheck is installed
|
|
- "github.com/wasilibs/go-shellcheck/cmd/shellcheck@v0.11.1"
|
|
priority: 0
|