Skip to content

Commit

Permalink
[Small] Formatter only checks lints in changed files (vllm-project#1528)
Browse files Browse the repository at this point in the history
  • Loading branch information
cadedaniel authored Oct 31, 2023
1 parent 0ce8647 commit e575df3
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
36 changes: 35 additions & 1 deletion format.sh
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,43 @@ echo 'vLLM yapf: Done'
# echo 'vLLM 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
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
echo 'Reformatted files. Please review and stage the changes.'
Expand Down
Empty file added tests/__init__.py
Empty file.

0 comments on commit e575df3

Please sign in to comment.