ShellCheck Passed Every File. The Pipeline Was Still Broken.
Описание и применение
Linters проверяют только отдельные файлы, поэтому они не видят ошибки, когда скрипт вызывает несуществующий файл. Инструмент script‑chain‑walk строит граф зависимостей скриптов, выявляя недостающие вызовы и циклы, что позволяет обнаруживать проблемы в пайплайне раньше.
Задача
Linters only analyze single files, so they miss cross‑file script call failures such as missing or renamed scripts, leading to pipeline failures.
Результат
script‑chain‑walk identifies missing script calls and call cycles that linters miss, enabling early detection of pipeline failures.
Рабочий процесс
- Install script‑chain‑walk via pip
- Run
script-chain-walk walk ./scriptsto generate a dependency graph - Review output for broken chains or cycles
- Use
--checkin CI to exit with error if any issues are found
Доказательства
ShellCheck is great at what it does. So is Pylint. So is every linter you've ever run in CI. They all share one blind spot: they look at one file at a time.
The linter passes. The pipeline runs. And it fails — because cleanup.sh was renamed two sprints ago and nobody updated the caller.
I built that map.
script-chain-walk — a zero-dependency Python CLI (stdlib only, Python ≥ 3.9) that traces cross-file script call chains.
It exits 1 if anything is broken or cyclic — made for CI pipelines and agent guardrails.
- Дата записи: 2026-10-21T08:41:30.969Z