[CI] replace shellcheck script with shellcheck-py hook - #52572
Merged
Merged
Conversation
wjabbour
requested review from
ApostaC,
Harry-Chen,
hmellor,
ivanium,
khluu and
orozery
as code owners
August 17, 2026 04:44
wjabbour
force-pushed
the
rocm/shellcheck-py-hook
branch
2 times, most recently
from
August 17, 2026 05:12
78dd9d6 to
4874cab
Compare
Contributor
Author
|
@hmellor @SoluMilken Created this PR to help move along the shellcheck effort, incorporated Solu's changes and Harry's feedback (commit hash instead of version tag) |
hmellor
reviewed
Aug 17, 2026
hmellor
reviewed
Aug 17, 2026
wjabbour
force-pushed
the
rocm/shellcheck-py-hook
branch
from
August 18, 2026 04:54
42d1977 to
78bd77d
Compare
Contributor
|
Documentation preview: https://vllm--52572.org.readthedocs.build/en/52572/ |
Swaps the custom tools/pre_commit/shellcheck.sh wrapper for the shellcheck-precommit hook, pinned to a commit hash rather than a version tag. Fixes the warnings the new hook surfaces on the current tree (word-splitting, unquoted array expansions, an embedded-quote string-building pattern in two NixlConnector test scripts). Supersedes vllm-project#37743, which had gone stale against main. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Turner <doubleujabbour@gmail.com>
koalaman/shellcheck-precommit shells out to a Docker image, which isn't available in every dev/CI environment and made the hook fail to run locally. shellcheck-py/shellcheck-py wraps a pip-installed shellcheck binary instead (matches the PR title and vllm-project#37743's own choice) and runs cleanly with no Docker dependency. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Turner <doubleujabbour@gmail.com>
Addresses hmellor's review comment on vllm-project#52572 asking to fix the warnings instead of indefinitely excluding the file. Only 3 warnings remained (SC2155, SC2089, SC2090); the latter two follow the same string-to-array fix already applied to GPU_DEVICES in run-multi-node-test.sh earlier in this PR. Signed-off-by: Turner <doubleujabbour@gmail.com>
… findings across the repo Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Turner <doubleujabbour@gmail.com> Signed-off-by: Turner Jabbour <doubleujabbour@gmail.com>
vllm-project#52264 added a chain of failure-diagnostic-collection functions (append_failure_diagnostic_*, run_failure_diagnostic, collect_*_diagnostic(s)) that are only reachable transitively through handle_amd_runner_exit, the EXIT trap handler. handle_amd_runner_exit itself already carries a shellcheck disable for this reason, but shellcheck's unused-function check doesn't do full transitive reachability from an indirectly-invoked entry point - everything that function calls still reads as dead code. Same false positive already worked around three times earlier in this file, just needed on the 13 new functions too now that this branch is rebased onto main. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Turner <doubleujabbour@gmail.com>
wjabbour
force-pushed
the
rocm/shellcheck-py-hook
branch
from
August 19, 2026 04:47
e3c40aa to
6cbc057
Compare
hmellor
reviewed
Aug 19, 2026
5 tasks
Per hmellor's review on vllm-project#52572: - Replace the 13 per-function SC2329 disable comments in run-amd-test.sh with a single file-level directive - every function in this file is only reachable transitively through the EXIT trap handler, so the false positive applies uniformly rather than needing individual justification per function. Trimmed the redundant ,SC2329 off the three pre-existing SC2317 disables for the same reason (SC2317 stays per-function since it's still meaningful elsewhere in the file). - Prefix the deferred-cleanup shellcheck disable comments (SC2001 x3, SC2012, SC1001) with TODO: so they're greppable for the follow-up PR. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Turner <doubleujabbour@gmail.com>
hmellor
enabled auto-merge (squash)
August 20, 2026 08:50
hmellor
approved these changes
Aug 20, 2026
Member
|
/ci run |
|
✅ Triggered Buildkite CI #84782 for commit |
wyettzeng
pushed a commit
to wyettzeng/vllm
that referenced
this pull request
Aug 21, 2026
…52572) Signed-off-by: Turner <doubleujabbour@gmail.com> Signed-off-by: Turner Jabbour <doubleujabbour@gmail.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Wyett <wyettzeng@gmail.com>
3 tasks
zufangzhu
pushed a commit
to zufangzhu/vllm
that referenced
this pull request
Aug 24, 2026
…52572) Signed-off-by: Turner <doubleujabbour@gmail.com> Signed-off-by: Turner Jabbour <doubleujabbour@gmail.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Zhu, Zufang <zufang.zhu@intel.com>
khushali9
pushed a commit
to khushali9/vllm
that referenced
this pull request
Aug 29, 2026
…52572) Signed-off-by: Turner <doubleujabbour@gmail.com> Signed-off-by: Turner Jabbour <doubleujabbour@gmail.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: khushali9 <khushali.desai9@gmail.com>
am-cohere
pushed a commit
to am-cohere/vllm
that referenced
this pull request
Sep 1, 2026
…52572) Signed-off-by: Turner <doubleujabbour@gmail.com> Signed-off-by: Turner Jabbour <doubleujabbour@gmail.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
eble-amd
added a commit
to ROCm/vllm
that referenced
this pull request
Sep 15, 2026
Upstream sync 28/N: merge 1eab6fe [CI] replace shellcheck script with shellcheck-py hook (vllm-project#52572) (conflict)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tools/pre_commit/shellcheck.shfor theshellcheck-precommithook, pinned to a commit hash (99470f5e1...= v0.11.0) instead of a version tag, per @hmellor's comment on [CI] replace shellcheck script with shellcheck-py hook #37743.main(severity=warning): unquoted array/command-substitution expansions, an embedded-literal-quote string-building pattern in two NixlConnector integration test scripts, and one dead variable.Context
Creating to replace #37743 (thanks @SoluMilken for the original idea and hook config). That PR predates several changes to files it touched (e.g. the NixlConnector test scripts gained an HMA feature and a producer/consumer
kv_transfer-configsplit since then), so rather than resolve stale conflicts I rebuilt the fix against currentmainand re-ran shellcheck fresh to make sure every change is still correct today.Test plan
shellcheck -s bash --format=gcc --severity=warningpasses clean across the whole repobash -non every touched script