ci: run eslint on PRs - #288
Conversation
Nothing in CI ran eslint. The `lint` check in the PR list comes from lint-markdown.yml and only covers markdown, so `npm run lint` was never exercised by any workflow. Found via the typescript 7 dependabot PR (#284), which shows every check green while `npm run lint` cannot start at all: typescript-eslint does not support TS 7.0. See also typescript-eslint#10940 for tracking support for TS >=7.1 That is not a subtle regression — eslint refuses to run — and CI could not tell it apart from a clean bump. Any dependency change that breaks linting for every developer would merge green. Blocking rather than continue-on-error, matching lint-markdown.yml: eslint exits 0 on main today (verified before adding the gate), so a failure here is a real regression, not pre-existing debt being surfaced. Path filters are deliberately broad — `eslint .` lints every JS/TS file not covered by globalIgnores in eslint.config.mjs, including scripts and wordpress theme assets, so narrowing to app/ and lib/ would reintroduce a smaller version of the same blind spot. Job is named `eslint` so it is distinguishable from lint-markdown.yml's `lint` in the checks list. Action SHAs match the newest already pinned in this repo (checkout v7.0.1, setup-node v6). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 6 minutes Limit details: You’ve used all 1 included review currently available under your plan. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Up to standards ✅🟢 Issues
|
The gap
No workflow ran eslint. The
lintcheck you see on every PR comes fromlint-markdown.ymland covers markdown only —npm run lintwas never exercised in CI.How it surfaced
The typescript 7 dependabot PR (#284) is green on every check, while
npm run lintcannot start at all:This isn't a subtle rule regression — eslint refuses to load. CI had no way to distinguish that from a clean bump, so a dependency change that breaks linting for every developer would merge green.
(For the record, the next.js side of #284 is fine: vercel/next.js#95639 is in v16.3.0, and
next buildcorrectly type-checks under TS 7 via the CLI backend — verified with a deliberate type error.typescript-eslintis the only blocker.)This PR
Adds
.github/workflows/lint-eslint.ymlrunningnpm run lint.lint-markdown.yml.eslint .exits 0 onmaintoday — verified before adding the gate — so a failure here means a real regression rather than pre-existing debt being surfaced.eslint, so it is distinguishable from the markdown workflow'slintin the checks list.eslint .lints every JS/TS file not covered byglobalIgnoresineslint.config.mjs, includingscripts/and wordpress theme assets, so narrowing toapp/andlib/would reintroduce a smaller version of the same blind spot.checkoutv7.0.1,setup-nodev6), andnode-version-file: .nvmrcfollows the sibling workflows.github.event.pull_request.number || github.ref) — repo-controlled, never shelled out.This PR touches the workflow's own path filter, so the new check runs against itself here.
🤖 Generated with Claude Code