-
Notifications
You must be signed in to change notification settings - Fork 0
feat(ci): add static analysis tools (typos, taplo, hadolint, actionlint, shellcheck) #246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
📊 CI Reports
🤖 Reports auto-generated from commit 63f7643 |
e21a414 to
d193644
Compare
d193644 to
7387e80
Compare
…nt, shellcheck) Add lightweight static analysis pipeline to catch common issues: - typos: spell checker for code, comments, and docs - taplo: TOML formatter/linter for consistent Cargo.toml formatting - hadolint: Dockerfile best practices linter - actionlint: GitHub Actions workflow linter - shellcheck: shell script static analysis Includes: - Configuration files for each tool with sensible defaults - New `just lint-static` recipe and individual tool recipes - CI job running all checks in parallel with existing lints - TOML formatting fixes applied by taplo Closes #243 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
7387e80 to
e0e6446
Compare
| - name: Install taplo | ||
| uses: taiki-e/install-action@taplo | ||
|
|
||
| - name: Run static analysis |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can toss this, seems like bloat.
.hadolint.yaml
Outdated
| ignored: | ||
| # Allow unpinned apt packages - we use base image version pinning instead | ||
| - DL3008 | ||
| # Allow additional packages without --no-install-recommends for dev containers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like this might be worth enforcing to slim down images
|
|
||
| # Check for typos in code and docs (requires typos: cargo install typos-cli) | ||
| lint-typos: | ||
| typos |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like these won't be setup by just setup
| # Taplo TOML formatter configuration | ||
| # https://taplo.tamasfe.dev/configuration/ | ||
|
|
||
| [formatting] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
explain the false flags
Remove actionlint ignore patterns for SC2086 and SC2129, and fix the actual issues throughout the CI workflow: - Quote shell variables in curl URLs and skaffold commands - Quote variables in numfmt commands for bundle size analysis - Use grouped redirects for GITHUB_OUTPUT and GITHUB_STEP_SUMMARY - Quote exit status variable in Playwright test cleanup 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Remove bloated manual tool installs, use taiki-e/install-action@v2 - Enforce DL3015: add --no-install-recommends to service/Dockerfile - Add static analysis tools to just setup output - Document taplo.toml false flags with explanatory comments 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
|
Addressed all review feedback in 86e4b07:
|
Replace verbose GITHUB_STEP_SUMMARY output with simple tool calls. Use set -x for visibility into what's being run. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Summary
_typos.tomlconfig (excludes generated files, lock files)taplo.tomlconfig for consistent Cargo.toml formatting.hadolint.yamlconfig.github/actionlint.yamlconfig.shellcheckrcconfigstatic-analysisrunning all tools in paralleljust lint-staticrecipe plus individual tool recipesNew Commands
Test plan
just lint-staticpasses locallyjust lint-backendstill passesstatic-analysisjob passesCloses #243
🤖 Generated with Claude Code