chore: add lint-workflow-size to cap workflow file growth#791
Conversation
|
fullsend review is working on this — view logs |
Site previewPreview: https://c5689582-site.fullsend-ai.workers.dev Commit: |
355e0f1 to
0f11b9c
Compare
|
fullsend review is working on this — view logs |
Review: #791Head SHA: 5dec679 SummaryClean, well-scoped addition of a pre-commit linter that caps workflow YAML file growth. The bash script is correct — proper error handling ( FindingsInfo
FooterOutcome: approve
Previous runReview: #791Head SHA: 9317f6d SummaryClean, well-scoped addition of a workflow file size linter that enforces an existing architectural pattern (workflow files as thin GitHub-specific glue, logic in FindingsInfo
FooterOutcome: approve
Previous run (2)Review: #791Head SHA: 0f11b9c SummaryThe linter script is well-structured and the approach of capping workflow file size is sound. However, the PR branch is stale relative to main: PR #785 rewrote FindingsHigh
Medium
FooterOutcome: request-changes |
|
fullsend fix is working on this — view logs |
|
fullsend review is working on this — view logs |
Workflow files are GitHub-specific glue. Logic that accumulates in them binds us to GitHub Actions and can't be unit tested. This linter caps workflow YAML files at 200 lines by default, encouraging extraction to scripts/ (the established pattern). Files that are already over the cap get per-file overrides via a comment (e.g. # lint-workflow-size: max-lines=310). The cap can be raised intentionally — the linter just makes growth visible and reviewable. Covers both .fullsend agent workflows and the shim template. References ADR-0005 (forge abstraction layer). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The shim-workflow.yaml grew past the 475-line cap after concurrent merges landed on main. Bump the override to 535 to accommodate the current 529 lines with a small buffer. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Bump shim-workflow.yaml max-lines from 475 to 535 (file grew to 529 after PR #785 merged) - Replace grep -oP (PCRE, Linux-only) with POSIX-compatible grep chain so the override detection works on macOS BSD grep too Addresses both findings from fullsend-ai-review. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
9317f6d to
5dec679
Compare
|
fullsend review is working on this — view logs |
Summary
hack/lint-workflow-size, a pre-commit linter that caps workflow YAML files at 200 lines by default# lint-workflow-size: max-lines=Noverride comment, making growth intentional and reviewable.fullsendagent workflows and the shim templatescripts/Motivated while reviewing #729, where ~85 lines of inline shell were added to
review.yml. The established pattern (used byfix.yml,pre-review.sh, etc.) is to keep workflow files as thin GitHub-specific glue and put testable logic inscripts/. This linter enforces that pattern going forward.Current overrides
fix.ymlprioritize-scheduler.ymlshim-workflow.yamlAll other workflow files are under the 200-line default.
Test plan
make lintpassespre-commit run lint-workflow-size --all-filespasses🤖 Generated with Claude Code