Skip to content

feat(lint): add surface linters (YAML, shell, GitHub Actions)#20

Merged
ben-miru merged 5 commits into
mainfrom
feat/surface-linters
Apr 14, 2026
Merged

feat(lint): add surface linters (YAML, shell, GitHub Actions)#20
ben-miru merged 5 commits into
mainfrom
feat/surface-linters

Conversation

@miru-agents

@miru-agents miru-agents commented Apr 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add scripts/lint-surface.sh and scripts/install-lint-tools.sh to run and install yamllint, shellcheck, and actionlint — matching what was added to the core repository
  • Add .yamllint.yml and .github/actionlint.yml config files; yamllint ignores the .agents/ subtree
  • Add a surface-lint CI job to .github/workflows/ci.yml using SHA-pinned Actions for all three linters
  • Declare ubuntu-latest-m self-hosted runner label in actionlint config so the existing lint and test jobs don't trigger unknown-label errors

Changes since rebase

Rebased onto latest main (through #23) and added a fix commit to declare the ubuntu-latest-m runner label in .github/actionlint.yml — without this, actionlint would fail on the existing CI jobs that use that runner.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@ben-miru ben-miru force-pushed the feat/surface-linters branch from a8b2a8e to ee2b27b Compare April 10, 2026 21:57
miru-agents and others added 4 commits April 14, 2026 16:00
Add non-Go surface linters matching those added to the core repository:
- .yamllint.yml: yamllint config (ignores .agents/ subtree)
- .github/actionlint.yml: actionlint config (minimal)
- scripts/lint-surface.sh: runs yamllint, shellcheck, actionlint
- scripts/install-lint-tools.sh: installs the three linters
- surface-lint CI job in .github/workflows/ci.yml

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The ludeeus/action-shellcheck step was scanning the .agents/ subtree,
which contains scripts we don't own. Matches the exclusion already
in scripts/lint-surface.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The existing lint and test jobs use the ubuntu-latest-m self-hosted
runner label. Without declaring it in .github/actionlint.yml,
actionlint flags it as unknown — failing the new surface-lint CI job.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ben-miru ben-miru force-pushed the feat/surface-linters branch from 568a435 to 3cb9d35 Compare April 14, 2026 23:04
Add lint-surface.sh (yamllint, shellcheck, actionlint) as a third
parallel job in preflight.sh so local validation matches CI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ben-miru ben-miru force-pushed the feat/surface-linters branch from 5262942 to 392d6b9 Compare April 14, 2026 23:07
@ben-miru ben-miru merged commit 2fac957 into main Apr 14, 2026
3 checks passed
@ben-miru ben-miru deleted the feat/surface-linters branch April 14, 2026 23:09
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.

2 participants