fix(ci): shellcheck SC2016 blokował pre-commit od 381265d - #32
Merged
Conversation
CI na main jest czerwone od wczoraj 18:21 (ostatni zielony: a05f216). Pada wylacznie job "Pre-commit hooks" — pozostale piec (Testy Makefile na Linuksie/Windows/macOS, testy runtime WAF, walidacja compose) przechodzi. Przyczyna: asercja pozycji parsera-zaslepki dodana w 381265d uzywa wzorca grep-a z `\$__range`/`\$__interval`, ktore MAJA zostac literalne — dopasowuja tekst w JSON-ie Grafany. Pojedyncze cudzyslowy sa wiec celowe, a SC2016 ("Expressions don't expand in single quotes") to falszywy alarm. Rozwiniecie zepsuloby asercje. Wyciszenie w konwencji juz obecnej w tym pliku czterokrotnie (linie 351, 430, 455, 504): `# shellcheck disable=SC2016 # to WZORZEC grep-a: ... literalne`. Dlaczego nie zlapalo tego lokalnie ani na PR-ze: CI odpala `pre-commit run --all-files` (ci.yml:59), a lokalny hook chodzi tylko po plikach z commita. Cztery kolejne commity nie dotykaly test_makefile.sh, wiec dziedziczyly czerwone CI bez wlasnej winy. Zweryfikowane: symulacja CI (`shellcheck -e SC1091,SC2086`) czysta, asercja nadal DZIALA (PASS: parser-zaslepka w 11 z 11 zapytan + PASS na pozycji w potoku), pelny zestaw 225 passed / 0 failed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J35fM3toviqNDsGxRg6P1c
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.
Problem
CI na
mainjest czerwone od wczoraj 18:21 (ostatni zielony:a05f216). Z sześciu jobów pada wyłączniePre-commit hooks— pozostałe pięć (Testy Makefile na Linuksie/Windows/macOS, testy runtime WAF, walidacja compose) przechodzi.Przyczyna i dlaczego to fałszywy alarm
Asercja pozycji parsera-zaślepki, dodana w
381265d, używa wzorcagrep -Ez\$__range/\$__interval. Te sekwencje mają zostać literalne — dopasowują tekst w JSON-ie Grafany. Pojedyncze cudzysłowy są więc celowe, a rozwinięcie zepsułoby asercję.Wyciszenie w konwencji już obecnej w tym pliku czterokrotnie (linie 351, 430, 455, 504).
Dlaczego nie złapało tego lokalnie ani na żadnym PR-ze
CI odpala
pre-commit run --all-files(ci.yml:59), a lokalny hook chodzi tylko po plikach z commita. Cztery kolejne commity nie dotykałytest_makefile.sh, więc dziedziczyły czerwone CI bez własnej winy — w tym #31, na którym to zauważyłem.Warto o tym wiedzieć na przyszłość: winę widać dopiero przez
git log -Spo treści linii, bo logi wskazują na commit, który akurat był następny.Weryfikacja
shellcheck -e SC1091,SC2086, te same wykluczenia co hook) — czysto;PASS: waf.json: parser-zaslepka w 11 z 11 zapytan+PASS: ... jest ostatnim ogniwem kazdego potoku;Diff to jedna linia komentarza — zero zmian w logice.
Uwaga na marginesie: lokalny shellcheck 0.11.0 zgłasza dodatkowo
SC2329w pięciu skryptachscripts/test-*.sh, ale CI pinuje 0.10.0.1, gdzie ta kontrola nie istnieje. Celowo tego nie ruszam — to osobna sprawa, która wypłynie dopiero przy podbiciurevhooka.🤖 Generated with Claude Code
https://claude.ai/code/session_01J35fM3toviqNDsGxRg6P1c