[Small] Formatter only checks lints in changed files (#1528)
This commit is contained in:
parent
0ce8647dc5
commit
e575df33b1
36
format.sh
36
format.sh
@ -93,9 +93,43 @@ echo 'vLLM yapf: Done'
|
|||||||
# echo 'vLLM mypy:'
|
# echo 'vLLM mypy:'
|
||||||
# mypy
|
# mypy
|
||||||
|
|
||||||
|
# Lint specified files
|
||||||
|
lint() {
|
||||||
|
pylint "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Lint files that differ from main branch. Ignores dirs that are not slated
|
||||||
|
# for autolint yet.
|
||||||
|
lint_changed() {
|
||||||
|
# The `if` guard ensures that the list of filenames is not empty, which
|
||||||
|
# could cause pylint to receive 0 positional arguments, making it hang
|
||||||
|
# waiting for STDIN.
|
||||||
|
#
|
||||||
|
# `diff-filter=ACM` and $MERGEBASE is to ensure we only lint files that
|
||||||
|
# exist on both branches.
|
||||||
|
MERGEBASE="$(git merge-base origin/main HEAD)"
|
||||||
|
|
||||||
|
if ! git diff --diff-filter=ACM --quiet --exit-code "$MERGEBASE" -- '*.py' '*.pyi' &>/dev/null; then
|
||||||
|
git diff --name-only --diff-filter=ACM "$MERGEBASE" -- '*.py' '*.pyi' | xargs \
|
||||||
|
pylint
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
# Run Pylint
|
# Run Pylint
|
||||||
echo 'vLLM Pylint:'
|
echo 'vLLM Pylint:'
|
||||||
pylint vllm tests
|
## This flag lints individual files. --files *must* be the first command line
|
||||||
|
## arg to use this option.
|
||||||
|
if [[ "$1" == '--files' ]]; then
|
||||||
|
lint "${@:2}"
|
||||||
|
# If `--all` is passed, then any further arguments are ignored and the
|
||||||
|
# entire python directory is linted.
|
||||||
|
elif [[ "$1" == '--all' ]]; then
|
||||||
|
lint vllm tests
|
||||||
|
else
|
||||||
|
# Format only the files that changed in last commit.
|
||||||
|
lint_changed
|
||||||
|
fi
|
||||||
|
|
||||||
if ! git diff --quiet &>/dev/null; then
|
if ! git diff --quiet &>/dev/null; then
|
||||||
echo 'Reformatted files. Please review and stage the changes.'
|
echo 'Reformatted files. Please review and stage the changes.'
|
||||||
|
0
tests/__init__.py
Normal file
0
tests/__init__.py
Normal file
Loading…
x
Reference in New Issue
Block a user