Skip to content

ci: run eslint on PRs - #288

Merged
JohnRDOrazio merged 1 commit into
mainfrom
ci/add-eslint-workflow
Aug 17, 2026
Merged

ci: run eslint on PRs#288
JohnRDOrazio merged 1 commit into
mainfrom
ci/add-eslint-workflow

Conversation

@JohnRDOrazio

Copy link
Copy Markdown
Member

The gap

No workflow ran eslint. The lint check you see on every PR comes from lint-markdown.yml and covers markdown only — npm run lint was never exercised in CI.

How it surfaced

The typescript 7 dependabot PR (#284) is green on every check, while npm run lint cannot start at all:

typescript-eslint does not support TS 7.0.
See also https://github.com/typescript-eslint/typescript-eslint/issues/10940
for tracking typescript-eslint's support for TS >=7.1

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 build correctly type-checks under TS 7 via the CLI backend — verified with a deliberate type error. typescript-eslint is the only blocker.)

This PR

Adds .github/workflows/lint-eslint.yml running npm run lint.

  • Blocking, matching lint-markdown.yml. eslint . exits 0 on main today — verified before adding the gate — so a failure here means a real regression rather than pre-existing debt being surfaced.
  • Job named eslint, so it is distinguishable from the markdown workflow's lint in the checks list.
  • Broad path filters. 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.
  • Action SHAs match the newest already pinned in this repo (checkout v7.0.1, setup-node v6), and node-version-file: .nvmrc follows the sibling workflows.
  • Only interpolation is the concurrency group (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

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>
@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@JohnRDOrazio, you've reached your PR review limit, so we couldn't start this review.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f1043131-7927-4bea-aed8-82761c7b5d7a

📥 Commits

Reviewing files that changed from the base of the PR and between 682e571 and 211a504.

📒 Files selected for processing (1)
  • .github/workflows/lint-eslint.yml

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@JohnRDOrazio
JohnRDOrazio merged commit afd2bac into main Aug 17, 2026
11 checks passed
@JohnRDOrazio
JohnRDOrazio deleted the ci/add-eslint-workflow branch August 17, 2026 21:27
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