You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Nine findings across the shell scripts and the `run:` blocks, reducing to three
causes. None had ever been reported by anything the repository runs: shellcheck
and actionlint are not installed here, and SonarQube's shell analysis arrives
after the merge.
SC1091, twice, was real. `. "$(dirname "$0")/../trains.sh"` is a path shellcheck
cannot resolve statically, so it was skipping the sourced file entirely — the
single source of truth for the release trains went unchecked in both scripts
that read it. A `# shellcheck source=` directive fixes the analysis, not just the
message.
The other seven are false positives, each annotated where it fires rather than
disabled repository-wide. SC2016 (five) reads the Markdown backticks in a printf
format as command substitution; every one of these formats emits a step summary
or a pull-request comment. SC2317 (two) calls the hook's two rule functions
unreachable, because they are reached through the `"rule_${rule}"` dispatch a
static reader cannot follow — the rule's own message says to ignore it when the
call is indirect.
A `.shellcheckrc` would have silenced all seven in one line and blinded both
rules everywhere else, including where they are right.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017bxVrnCNsXW3RvwmLc9Kvy
0 commit comments