Skip to content

feat: add shellcheck composite action - #3

Merged
kyle-sexton merged 1 commit into
mainfrom
feat/shellcheck-action
Jun 22, 2026
Merged

feat: add shellcheck composite action#3
kyle-sexton merged 1 commit into
mainfrom
feat/shellcheck-action

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

Add .github/actions/shellcheck: installs a pinned, checksum-verified ShellCheck
binary and runs it over discovered shell scripts against a caller-supplied
rcfile (inputs: paths, rcfile, exclude, version, sha256). ShellCheck is a single
binary with no runner script, so the action needs no bundled file.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Add .github/actions/shellcheck: installs a pinned, checksum-verified ShellCheck
binary and runs it over discovered shell scripts against a caller-supplied
rcfile (inputs: paths, rcfile, exclude, version, sha256). ShellCheck is a single
binary with no runner script, so the action needs no bundled file.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kyle-sexton
kyle-sexton merged commit 44f4c2c into main Jun 22, 2026
7 checks passed
@kyle-sexton
kyle-sexton deleted the feat/shellcheck-action branch June 22, 2026 19:10

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c72b0e63c9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

run: |
set -euo pipefail
# $PATHS unquoted so multiple roots word-split.
mapfile -t files < <(find $PATHS -type f \( -name '*.sh' -o -name '*.bash' \) -not -path '*/.git/*' | sort)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Fail on missing search roots

When a caller mistypes or renames an input root, find reports the missing path but exits inside this process substitution, so mapfile still returns success under set -e; the action then either lints only the remaining roots or prints No shell scripts to check. and exits 0. This can let a misconfigured ShellCheck lane pass without checking the intended scripts, so validate each paths entry or otherwise propagate find failures before continuing.

Useful? React with 👍 / 👎.

kyle-sexton added a commit that referenced this pull request Aug 8, 2026
…ion ledger (#390)

Advances the Phase 4 tag `[DOING]` → `[DONE]` and appends a dated
close-out amendment dispositioning every item in the 2026-08-06
REMAINING list — kept verbatim above it as the historical record.

Dispositions recorded (each with its authority):

- #364 shipped via #385 (`bcf48a0`) — routing label + idempotent
escalation marker with repair path
- #363 shipped via #387 (`7415d4e`, A1) + #389 (`9f9757e`, A2) —
skipped-validation visibility, count/stale-clear gating, marker copy,
wiring tripwire; security-lane variant tracked in #388
- Both #238 spec conflicts adjudicated (operator-delegated, 2026-08-07):
supersede-not-reopen; three-clean-cycles close
- Multi-repo shape waived; caller-side `class=runner` emission deferred
with provisioning#215's trigger (operator-authorized recommendations)
- #1327 comment-closed; #228/#238 closed with pointers — SC4 met
- Canary deferral rehomed into the ledger (re-evaluate 2026-11-06 +
three triggers), per its own the-moment-#228-closes rule
- Secret-visibility hardening item retired: operator keeps
`CLAUDE_CODE_OAUTH_TOKEN` at visibility "all"; matches the github-iac
record (github-iac#269/github-iac#270 landed, github-iac#266 closed)
- Fleet repin v0.9.1→v0.10.2 done (standards #337, claude-code-plugins
#1990/#1992, sandbox #3)

The deliberately-untouched verbatim run-30571900637 quote (no
`coverage=` field) remains untouched; the byte-pinned regions are not in
this diff.

## Related

No linked issue. For reference: #238, #228, #363, #364, #385, #387,
#389, #388.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01HCJfVqDNYt92YRyvKUMgYW

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant