feat(poort): make shellcheck — de shellscripts stonden buiten elke controle #774
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!774
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/shellcheck-poort"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
De shellscripts stonden buiten elke poort. Nu niet meer.
Waarom
Dart in deze repo komt langs een compiler, een analyzer op
--fatal-infosen acht eigengebouwde poorten. Shell kwam nergens langs. Dat was te verdedigen zolang er één script was dat alleen een releasebeheerder met de hand draaide (scripts/build_release.sh). Met een tweede script dat gecommitte artefacten produceert —scripts/regenerate_icons.sh, dat net met #769 landde — is het dat niet meer.Wat het is
make shellcheckdraait ShellCheck op standaardstrengheid overscripts/*.sh. Incheck-full, bewust niet incheck— dezelfde reden als bijsastencheck-secrets: de dagelijkse poort mag geen externe binaries veronderstellen. Beide scripts waren al schoon, dus de poort kon erin zonder basislijn en zonder uitzonderingen.Geregistreerd in
docs/CHECKS.md(tabelregel + eigen sectie), in demake help-lijst en in decheck-full-samenvatting.In twee richtingen getoetst — en dat leverde zijn eigen les op
De eerste geplante fout gaf géén bevinding: een variabele met een letterlijk pad, daarna onaangehaald gebruikt. ShellCheck volgt de waarde en wéét dan dat de expansie veilig is. Ik had die groene uitkomst bijna gelezen als "poort werkt" — terwijl het bewees dat mijn plant geen fout wás. Met een expansie die hij wél kan afkeuren (SC2086 op een commandosubstitutie) valt hij netjes om (exit ≠ 0), en na herstel weer groen. Dat staat zo ook in CHECKS.md, want de volgende die deze poort vertrouwt moet weten waaraan hij beproefd is.
Poorten
make check— exit 0. Gedraaid op deze tak, gerebased op de verse main (0c93962e, mét het icoonscript).make shellcheck— exit 0 over beide scripts.make check-secrets— schoon, werkboom én historie.make sast— 0 bevindingen.Let op de CI-gate. Die was vanmiddag flaky-rood voor álle PR's (#768/#769/#770/#771 én main-runs), terwijl
make checklokaal en op een schone main groen is. De oorzaak lijkt de runner (vijf runs tegelijk, ~35 min elk), niet de code — maar de Linux-log was niet in te zien. Als deze PR daar ook op rood loopt, weegt die stand mee.🤖 Generated with Claude Code