Skip to content

ci: fix linting pipeline + add Vitest test infrastructure - #31

Merged
Yuvraj-Sarathe merged 1 commit into
Yuvraj-Sarathe:mainfrom
Rudrx17:fix/ci-pipeline-linting-exceptions
Jul 30, 2026
Merged

ci: fix linting pipeline + add Vitest test infrastructure#31
Yuvraj-Sarathe merged 1 commit into
Yuvraj-Sarathe:mainfrom
Rudrx17:fix/ci-pipeline-linting-exceptions

Conversation

@Rudrx17

@Rudrx17 Rudrx17 commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

fix(ci): resolve failing lint/test pipeline + add Vitest infrastructure

  • Add paths-ignore for docs/markdown/config files
  • Make test step conditional on test files existing
  • Add Vitest + React Testing Library + jsdom
  • Add vitest.config.ts with Next.js 15 support
  • Add vitest.setup.ts with Next.js mocks
  • Update .eslintrc.json with ignorePatterns for non-code files
  • Add sample test for home page
  • Fix unused eslint-disable directive in DotField.tsx

🔗 Related Issue

Closes #29


📝 Description of Changes

This PR resolves the CI pipeline failures that occurred on every pull request by introducing proper test infrastructure, improving lint configuration, and optimizing workflow execution.

Root Cause

  • Missing npm test script in package.json, causing the test step to fail on every CI run.
  • CI workflow ran for documentation-only changes, wasting CI resources.
  • ESLint analyzed non-source files, generating unnecessary lint noise.
  • No testing framework was configured, preventing the addition of automated tests.

Changes Implemented

CI Pipeline

  • Added paths-ignore to skip CI for documentation and non-code changes:
    • **/*.md
    • docs/**
    • .github/**
    • CHANGELOG.md
    • LICENSE
    • *.txt
    • public/**
  • Updated the workflow so the test step only executes when test files (*.test.* or *.spec.*) are present.

Test Infrastructure

  • Added:
    • Vitest
    • React Testing Library
    • jsdom
    • @vitejs/plugin-react
  • Added npm scripts:
    • npm test
    • npm run test:watch
  • Created vitest.config.ts with:
    • Next.js 15 compatibility
    • React 19 support
    • Path aliases
    • jsdom environment
  • Created vitest.setup.ts containing mocks for:
    • next/navigation
    • next/image
    • next/link

ESLint

  • Added comprehensive ignorePatterns for:
    • Documentation
    • Configuration files
    • Lock files
    • Test setup files
  • Disabled noisy rules:
    • @next/next/no-img-element
    • react/no-unescaped-entities

Testing

  • Added app/page.test.tsx containing two passing tests verifying that the home page renders successfully.

Code Quality

  • Removed the unused eslint-disable directive from components/DotField.tsx.

🏷️ Proposed Labels

  • CI/CD
  • UI/UX
  • Documentation
  • Backend Logic
  • Testing

📂 Core Files Changed

File | Change -- | -- .github/workflows/ci.yml | Added paths-ignore and conditional test execution package.json | Added test scripts and testing dependencies vitest.config.ts | New Vitest configuration vitest.setup.ts | Added Next.js test mocks .eslintrc.json | Added ignorePatterns and rule adjustments app/page.test.tsx | Added sample homepage tests components/DotField.tsx | Removed unused eslint-disable directive

📸 Verification & Screenshots

  • UI/UX (User Interface / User Experience - how it looks and feels):
    • No visual changes.
  • CI/CD (Continuous Integration / Continuous Deployment - the automated build/test pipeline):
    • npm run lint passes (0 errors, expected warnings only)
    • npm test passes (1 test file, 2 tests)
    • ✅ Documentation-only PRs now skip CI
    • ✅ Test step executes only when test files exist

Local Verification

npm run lint
npm test

🤖 AI Assistance Declaration

Did you use an AI tool to write or assist with this code OR Pull Request?

  • Yes
  • No

⚠️ IF YOU CHECKED "YES", YOU MUST ANSWER THE FOLLOWING:

  • Which AI Model did you use? Nemotron-3-Ultra
  • Which Platform/Tool? OpenCode
  • What exactly did the AI do? Analyzed the CI failures, proposed the solution, generated the workflow, testing infrastructure, ESLint updates, and supporting code changes.
  • What exactly did YOU do? Reviewed the generated code, applied the changes, executed Git operations, verified linting and tests locally, and ensured the solution worked as expected.
  • What is the advantage of using this AI approach here? It accelerated root cause analysis and implementation by producing a comprehensive solution spanning CI configuration, testing infrastructure, and lint improvements while still allowing manual review and validation.

⚠️ Reviewer Notes

  • The <img> warnings shown during linting are expected. They originate from Next.js recommending the <Image /> component and are existing warnings in the codebase rather than new issues.
  • jsdom may emit canvas-related warnings during tests because it does not fully implement the Canvas API. These warnings are harmless and do not affect test results.
  • This PR establishes the project's testing foundation. Code coverage thresholds can be introduced in a future PR as the test suite grows.

✅ The "I Swear I Didn't Break Anything" Pledge

  • I have thoroughly tested these changes in my own local branch.
  • I verified multiple times that this code compiles into a standalone build and does not break existing production features.

Summary by Sourcery

Update CI configuration to avoid unnecessary runs and conditionally execute tests while introducing a Vitest-based testing setup and aligning linting with the new test infrastructure.

New Features:

  • Introduce Vitest-based testing infrastructure with jsdom, React Testing Library, and a global setup file for Next.js mocks.
  • Add an initial home page test suite to validate basic rendering and heading presence.

Enhancements:

  • Extend ESLint configuration with ignore patterns for non-source files and adjust rules to better fit the project.
  • Add npm scripts for running and watching tests, plus an autofix lint script.
  • Configure module resolution aliasing for tests via a new Vitest config file.

CI:

  • Configure the PR verification workflow to ignore documentation and other non-code changes and to run tests only when test files are present.

Tests:

  • Set up shared Vitest test setup with mocks for Next.js APIs and warning suppression for noisy console errors.

Summary by CodeRabbit

  • Testing

    • Added automated tests for the home page to verify successful rendering, heading visibility, and expected branding text.
    • Added a browser-like test environment with support for Next.js navigation, images, and links.
  • Developer Experience

    • Added commands for running tests, watching tests, and automatically fixing lint issues.
    • Improved linting configuration for Next.js applications.
  • CI

    • Skips CI for documentation-only and other non-code changes.
    • Runs tests only when test files are present.

@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

@Rudrx17 is attempting to deploy a commit to the Yuvraj Sarathe's projects Team on Vercel.

A member of the Team first needs to authorize it.

@sourcery-ai

sourcery-ai Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Reviewer's Guide

Fixes the PR verification CI by making test execution conditional and adding a full Vitest test setup, while tightening ESLint configuration and adding a basic homepage test.

Sequence diagram for Vitest test execution with Next.js mocks

sequenceDiagram
  actor Developer
  participant Npm
  participant Vitest
  participant Vitest_setup
  participant JSDOM
  participant TestingLibraryReact
  participant Home_page
  participant Next_mocks

  Developer->>Npm: npm test
  Npm->>Vitest: run
  Vitest->>Vitest_setup: load setupFiles (vitest.setup.tsx)
  Vitest_setup->>Vitest: register mocks and console overrides
  Vitest->>JSDOM: create jsdom test environment
  Vitest->>TestingLibraryReact: execute Home page tests
  TestingLibraryReact->>Home_page: render(Home)
  Home_page->>Next_mocks: call next/navigation and next/link
Loading

File-Level Changes

Change Details Files
Harden CI workflow to skip non-code PRs and only run tests when test files exist.
  • Configured pull_request trigger with paths-ignore for markdown, docs, public assets, and other non-code files so CI doesn’t run on doc-only changes.
  • Added a check-tests step that scans the repo for *.test.ts(x) and *.spec.ts(x) files and exposes a has_tests output.
  • Made the Run Tests step conditional on has_tests so npm test is only executed when tests are present.
.github/workflows/ci.yml
Introduce Vitest-based testing infrastructure with Next.js-friendly setup.
  • Added test-related npm scripts (test, test:watch, lint:fix) wired to Vitest.
  • Added Vitest, React Testing Library, jest-dom, jsdom, and @vitejs/plugin-react as dev/runtime dependencies for testing.
  • Created vitest.config.ts configuring jsdom environment, setup file, Next-style path alias '@', and test file inclusion pattern.
  • Created vitest.setup.tsx to import jest-dom, mock next/navigation, next/image, next/link, and filter noisy console.error warnings.
  • Added a simple app/page.test.tsx that renders the Home page and asserts basic content to validate the setup.
package.json
package-lock.json
vitest.config.ts
vitest.setup.tsx
app/page.test.tsx
Reduce ESLint noise and clean up an obsolete directive.
  • Expanded ESLint ignorePatterns to exclude documentation, config, lock, and test-setup files from linting (details in .eslintrc.json changes).
  • Disabled noisy rules @next/next/no-img-element and react/no-unescaped-entities to match project needs.
  • Removed an unused eslint-disable comment from the DotField component’s effect cleanup hook.
.eslintrc.json
components/DotField.tsx

Assessment against linked issues

Issue Objective Addressed Explanation
#29 Fix or reconfigure the PR CI lint/test pipeline so that it no longer fails incorrectly on most pull requests (i.e., correct the test setup and lint integration).
#29 Add CI/workflow exceptions so that documentation-only or other non-code pull requests do not trigger or fail linting/tests unnecessarily (especially preventing failures on documentation changes).
#29 Introduce additional configuration/tests and exceptions for different file types and languages (e.g., via conditional test execution and lint ignore patterns) to make linting/testing apply only where appropriate.

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

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

Next review available in: 23 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

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: ea0ffb62-8959-4c36-a562-8c143232e6bc

📥 Commits

Reviewing files that changed from the base of the PR and between 1f6f0ba and 4783774.

📒 Files selected for processing (7)
  • .eslintrc.json
  • .github/workflows/ci.yml
  • app/page.test.tsx
  • eslint.config.mjs
  • package.json
  • vitest.config.ts
  • vitest.setup.tsx
📝 Walkthrough

Walkthrough

The pull request updates ESLint configuration, adds Vitest and React Testing Library infrastructure, introduces Home page tests, and adjusts CI to skip non-code pull requests and conditionally run tests.

Changes

Lint and Vitest CI improvements

Layer / File(s) Summary
Lint configuration and hook cleanup
.eslintrc.json, components/DotField.tsx
ESLint now uses the Core Web Vitals preset with additional rules and ignore patterns; the DotField hook suppression comment is removed.
Vitest test foundation
package.json, vitest.config.ts, vitest.setup.tsx
Vitest scripts, dependencies, jsdom configuration, React support, Next.js mocks, and test warning handling are added.
Page validation and conditional CI tests
app/page.test.tsx, .github/workflows/ci.yml
Home page rendering assertions are added, while CI filters non-code pull requests and conditionally runs tests when test files exist.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested labels: CI/CD, enhancement, level: beginner, ECSoC26, ECSoC26-L1

Suggested reviewers: yuvraj-sarathe

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: CI/lint fixes plus new Vitest test infrastructure.
Linked Issues check ✅ Passed CI exclusions, conditional tests, Vitest setup, ESLint ignores, and homepage tests align with issue #29's linting/test fixes and documentation exceptions.
Out of Scope Changes check ✅ Passed All reviewed changes support CI, linting, or testing; no unrelated feature work stands out.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Fix failing CI checks
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 3 issues, and left some high level feedback:

  • Ignoring .github/** in paths-ignore means CI changes won’t trigger this workflow, which can make it harder to validate workflow edits; consider narrowing the ignored paths to avoid hiding CI config changes.
  • The global console.error suppression in vitest.setup.tsx is quite broad and may hide genuine issues; consider filtering on more specific message patterns or scoping the override to individual tests instead of globally.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Ignoring `.github/**` in `paths-ignore` means CI changes won’t trigger this workflow, which can make it harder to validate workflow edits; consider narrowing the ignored paths to avoid hiding CI config changes.
- The global `console.error` suppression in `vitest.setup.tsx` is quite broad and may hide genuine issues; consider filtering on more specific message patterns or scoping the override to individual tests instead of globally.

## Individual Comments

### Comment 1
<location path=".github/workflows/ci.yml" line_range="36-45" />
<code_context>
         run: npm run lint

-      # Step E: Run your test suite (verifies the code actually works)
+      - name: Check for test files
+        id: check-tests
+        run: |
+          if find . -name "*.test.ts" -o -name "*.test.tsx" -o -name "*.spec.ts" -o -name "*.spec.tsx" | grep -q .; then
+            echo "has_tests=true" >> $GITHUB_OUTPUT
+          else
+            echo "has_tests=false" >> $GITHUB_OUTPUT
+          fi
+
       - name: Run Tests
+        if: steps.check-tests.outputs.has_tests == 'true'
         run: npm test
\ No newline at end of file
</code_context>
<issue_to_address>
**suggestion (performance):** The `find` used to detect tests searches the entire tree, including `node_modules`, which may slow down CI.

Because `find` starts at repo root, it will walk `node_modules` and other large directories, which can significantly slow CI on bigger projects. Consider restricting the search to known test locations (e.g., `src`, `app`, `components`) or using a more targeted glob so the check remains fast while still correctly detecting whether tests exist.
</issue_to_address>

### Comment 2
<location path="package.json" line_range="45-49" />
<code_context>
     "tw-animate-css": "^1.4.0",
-    "typescript": "5.9.3"
+    "typescript": "5.9.3",
+    "vitest": "^2.0.0",
+    "@testing-library/react": "^16.0.0",
+    "@testing-library/jest-dom": "^6.4.0",
+    "jsdom": "^24.0.0",
+    "@vitejs/plugin-react": "^4.3.0"
   }
 }
</code_context>
<issue_to_address>
**suggestion (performance):** Test-only tooling is added under `dependencies` instead of `devDependencies`, which can bloat production installs.

These packages are only used for local development and CI, so they don’t need to be present in production images. Installing them via `dependencies` causes unnecessary install time and larger containers. Please move these test/build tools to `devDependencies` and reserve `dependencies` for runtime requirements only.
</issue_to_address>

### Comment 3
<location path="vitest.setup.tsx" line_range="31-40" />
<code_context>
+}));
+
+// Suppress console.error for known warnings in tests
+const originalError = console.error;
+beforeAll(() => {
+  console.error = (...args: any[]) => {
+    if (
+      typeof args[0] === 'string' &&
+      (args[0].includes('Warning: ReactDOM.render is no longer supported') ||
+        args[0].includes('act(...)'))
+    ) {
+      return;
+    }
+    originalError.call(console, ...args);
+  };
+});
+afterAll(() => {
+  console.error = originalError;
+});
\ No newline at end of file
</code_context>
<issue_to_address>
**suggestion (testing):** Globally overriding `console.error` in tests can hide unexpected errors and make debugging harder.

This wrapper not only filters the targeted React warnings, it changes `console.error` globally for the full test run. Any new warnings/errors that contain those substrings—or other test code that relies on `console.error`—could be unintentionally suppressed. Prefer scoping this behavior (e.g., per suite or per test) and using `vi.spyOn(console, 'error')` with precise message matching to avoid hiding real issues.

Suggested implementation:

```typescript
const originalError = console.error;

/**
 * Helper to suppress specific, known React warnings in a scoped way.
 *
 * Usage in tests:
 *   const errorSpy = suppressReactConsoleErrors();
 *   // ...run test...
 *   errorSpy.mockRestore();
 */
export function suppressReactConsoleErrors() {
  const errorSpy = vi
    .spyOn(console, 'error')
    .mockImplementation((...args: unknown[]) => {
      const [message] = args;

      if (
        typeof message === 'string' &&
        (
          // Specific ReactDOM.render deprecation warning
          message.startsWith('Warning: ReactDOM.render is no longer supported') ||
          // Specific act(...) warnings
          message.includes('Warning:') &&
          message.includes('act(...)')
        )
      ) {
        return;
      }

      // Delegate all other errors to the original console.error
      originalError(...(args as Parameters<typeof console.error>));
    });

  return errorSpy;
}

// Optionally expose helper globally for convenience in test suites
// so tests can call `const spy = suppressReactConsoleErrors();`
(globalThis as any).suppressReactConsoleErrors = suppressReactConsoleErrors;

```

To fully adopt the scoped behavior suggested in the review:
1. In individual test files or describe blocks that need these warnings suppressed, call `const errorSpy = suppressReactConsoleErrors();` in `beforeEach` (or a specific test) and `errorSpy.mockRestore();` in `afterEach` to avoid leaking the spy across tests.
2. If you prefer using the global helper, you can instead call `const errorSpy = (globalThis as any).suppressReactConsoleErrors();` in those same hooks.
3. If your TypeScript setup requires it, you may want to add a global type declaration (e.g., in `vitest.d.ts`) for `suppressReactConsoleErrors` on `globalThis` to avoid `any` casting.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread .github/workflows/ci.yml
Comment thread package.json
Comment thread vitest.setup.tsx Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🧹 Nitpick comments (2)
vitest.setup.tsx (1)

30-46: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Do not suppress every act(...) diagnostic.

This filter hides any console.error whose first argument contains act(...), including actionable warnings from broken async or state-update handling. Match only a specific known warning, or remove the suppression.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@vitest.setup.tsx` around lines 30 - 46, Update the console.error override in
the beforeAll test setup so it no longer suppresses every message containing
“act(...)”. Remove that broad match or narrow it to the exact known warning
text, while preserving handling for the ReactDOM.render warning and restoration
via afterAll.
app/page.test.tsx (1)

4-13: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Strengthen the homepage assertions.

getByText(/GitDeep/i) and “any level-one heading” are too broad to validate the intended page. Assert the actual accessible heading name and at least one primary input or action so regressions are detected.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@app/page.test.tsx` around lines 4 - 13, Strengthen the Home Page tests by
replacing the broad GitDeep text and generic level-one heading assertions with
an exact accessible heading name, and add an assertion for at least one primary
input or action exposed by Home. Keep the tests scoped to the intended homepage
elements so unrelated matching text or headings cannot satisfy them.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.eslintrc.json:
- Around line 2-27: Update eslint.config.mjs, which ESLint 9 loads for the
package.json eslint . command, to include the .eslintrc.json rule overrides and
ignorePatterns so those ignores and disabled rules are applied under flat
config. Prefer moving the configuration into eslint.config.mjs rather than
relying on ESLINT_USE_FLAT_CONFIG=false.

In @.github/workflows/ci.yml:
- Around line 6-10: Remove the `.github/**` entry from the `paths-ignore` list
in the workflow trigger configuration, while preserving the other ignored paths
so pull requests modifying only workflow files still run CI.
- Around line 21-22: Update the actions/checkout@v4 step in the CI workflow to
disable persisted credentials by configuring its persist-credentials option to
false, while leaving the existing checkout behavior unchanged.

In `@vitest.config.ts`:
- Line 10: Align test discovery between vitest.config.ts at lines 10-10 and
.github/workflows/ci.yml at lines 36-47: either make Vitest’s include patterns
and the CI npm test condition cover the same .test and .spec files, or remove
the Vitest override and restrict CI discovery to files Vitest runs.

In `@vitest.setup.tsx`:
- Line 1: Update the setup import in vitest.setup.tsx to use the Vitest-specific
`@testing-library/jest-dom/vitest` entrypoint instead of the generic jest-dom
entrypoint.

---

Nitpick comments:
In `@app/page.test.tsx`:
- Around line 4-13: Strengthen the Home Page tests by replacing the broad
GitDeep text and generic level-one heading assertions with an exact accessible
heading name, and add an assertion for at least one primary input or action
exposed by Home. Keep the tests scoped to the intended homepage elements so
unrelated matching text or headings cannot satisfy them.

In `@vitest.setup.tsx`:
- Around line 30-46: Update the console.error override in the beforeAll test
setup so it no longer suppresses every message containing “act(...)”. Remove
that broad match or narrow it to the exact known warning text, while preserving
handling for the ReactDOM.render warning and restoration via afterAll.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8e6de29b-3456-4b8b-af6f-6c4378f62d21

📥 Commits

Reviewing files that changed from the base of the PR and between 6705fca and 1f6f0ba.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (7)
  • .eslintrc.json
  • .github/workflows/ci.yml
  • app/page.test.tsx
  • components/DotField.tsx
  • package.json
  • vitest.config.ts
  • vitest.setup.tsx

Comment thread .eslintrc.json Outdated
Comment thread .github/workflows/ci.yml
Comment thread .github/workflows/ci.yml
Comment thread vitest.config.ts Outdated
Comment thread vitest.setup.tsx Outdated
@Yuvraj-Sarathe

Copy link
Copy Markdown
Owner

@Rudrx17, please resolve merge conflicts and look into suggestions given by CodeRabbit's and Sourcery's reviews.

Rudrx17 added a commit to Rudrx17/GitDeep that referenced this pull request Jul 30, 2026
- Remove .github/** from CI paths-ignore
- Add persist-credentials: false to checkout
- Fix test discovery to exclude node_modules
- Move test dependencies to devDependencies
- Replace global console.error override with scoped helper
- Align Vitest include patterns with CI
- Use vitest-specific jest-dom entrypoint
- Migrate ESLint to flat config
- Update tests to use scoped suppression helper
@Rudrx17
Rudrx17 force-pushed the fix/ci-pipeline-linting-exceptions branch from 0135275 to 16051bb Compare July 30, 2026 07:21
Rudrx17 added a commit to Rudrx17/GitDeep that referenced this pull request Jul 30, 2026
- Remove .github/** from CI paths-ignore
- Add persist-credentials: false to checkout
- Fix test discovery to exclude node_modules
- Move test dependencies to devDependencies
- Replace global console.error override with scoped helper
- Align Vitest include patterns with CI
- Use vitest-specific jest-dom entrypoint
- Migrate ESLint to flat config
- Update tests to use scoped suppression helper
- Remove .github/** from CI paths-ignore
- Add persist-credentials: false to checkout
- Fix test discovery to exclude node_modules
- Move test dependencies to devDependencies
- Replace global console.error override with scoped helper
- Align Vitest include patterns with CI
- Use vitest-specific jest-dom entrypoint
- Migrate ESLint to flat config (remove .eslintrc.json)
- Update tests to use scoped suppression helper
@Rudrx17
Rudrx17 force-pushed the fix/ci-pipeline-linting-exceptions branch from d2b4802 to 4783774 Compare July 30, 2026 08:02
@Yuvraj-Sarathe
Yuvraj-Sarathe merged commit c01bf86 into Yuvraj-Sarathe:main Jul 30, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] : Improve the current PR linting tests with checks and exceptions

2 participants