-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Note
The task was generated using the MCP server — prog-time/github-issues-server
Release: 1
Type: fix
Priority: medium
Blocks: —
Blocked by: —
Status: todo
Description
The script scripts/shell/linters/shellcheck.sh is missing the set -euo pipefail directive that every other script in scripts/shell/linters/ contains (eslint.sh, yamllint.sh, htmlhint.sh, markdownlint.sh, stylelint.sh, mermaid.sh). This omission violates the uniform standard defined in rules/process/ci-cd.md, section 9 ("Shell Scripts").
Motivation
Without set -euo pipefail, unhandled command errors and references to unset variables inside shellcheck.sh are silently ignored. This is especially problematic for a script that is itself a quality gate: a silent failure inside shellcheck.sh produces a false success in CI, defeating its purpose.
Checklist
- Add
set -euo pipefailtoscripts/shell/linters/shellcheck.shon the line immediately after#!/usr/bin/env bash - Reassemble the output file:
bash scripts/assemble-ci.sh scripts/CI/linters scripts/shell/linters CI/linters - Verify that
CI/linters/shellcheck.ymlnow containsset -euo pipefailin the inlined script body - Run
shellcheck scripts/shell/linters/shellcheck.sh— no warnings or errors (the script must pass its own linter) - Run
bats tests/linters/shellcheck.bats— all existing tests pass - Run
bats --recursive tests/— the full test suite passes
Affected Files
| File | Change |
|---|---|
scripts/shell/linters/shellcheck.sh |
add set -euo pipefail after the shebang line |
CI/linters/shellcheck.yml |
reassemble via assembler |