Skip to content

Conversation

@jamesbhobbs
Copy link
Contributor

@jamesbhobbs jamesbhobbs commented Oct 10, 2025

ci: add comprehensive lint and format checks to CI workflow

Summary

Adds a new lint-and-format job to the CI workflow that runs comprehensive code quality checks using jlpm run lint:check. This job includes ESLint, Prettier, and stylelint checks to ensure code quality and consistent formatting across the codebase.

The change addresses the requirement to have comprehensive linting and formatting checks in the CI workflow. Tests were intentionally left in the existing build.yml workflow to avoid duplication.

Review & Testing Checklist for Human

  • Verify the new CI job runs successfully - Check that the lint-and-format job appears in GitHub Actions and completes without errors
  • Confirm GITHUB_TOKEN permissions - Ensure the token has access to private @deepnote packages needed for jlpm install
  • Validate timeout setting - Check if 15 minutes is appropriate for lint checks or if it should be adjusted
  • Test lint:check comprehensiveness - Verify that jlpm run lint:check covers all expected tools (ESLint, Prettier, stylelint)

Notes

Summary by CodeRabbit

  • Chores
    • Added an automated lint-and-format check to the continuous integration pipeline.
    • Ensures consistent coding standards by running linting and formatting on each run.
    • Standardized environment setup and dependency installation to reduce CI variability.
    • Provides quicker feedback on style issues, helping prevent regressions before merge.
    • Enforces time-bounded execution to keep CI reliable and efficient.

@devin-ai-integration
Copy link

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 10, 2025

📝 Walkthrough

Walkthrough

A new CI job lint-and-format was added to .github/workflows/ci.yml. It runs on ubuntu-latest with a 15-minute timeout. The job performs: repository checkout (actions/checkout@v4), base setup (jupyterlab/maintainer-tools/.github/actions/base-setup@v1), installs Python dependencies (python -m pip install -U "jupyterlab>=4.0.0,<5"), installs Node dependencies using jlpm with GITHUB_TOKEN, and runs lint and format checks via jlpm run lint:check with GITHUB_TOKEN.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Push/PR
  participant GH as GitHub Actions
  participant Job as Job: Lint & Format
  participant Steps as Steps

  Dev->>GH: Trigger workflow
  GH->>Job: Start (ubuntu-latest, timeout 15m)

  rect rgba(200,200,255,0.2)
    Note over Job: Initialization
    Job->>Steps: Checkout (actions/checkout@v4)
    Steps-->>Job: Repo fetched
    Job->>Steps: Base Setup (maintainer-tools base-setup@v1)
    Steps-->>Job: Environment ready
  end

  rect rgba(200,255,200,0.2)
    Note over Job: Dependencies
    Job->>Steps: pip install "jupyterlab>=4.0.0,<5"
    Steps-->>Job: Python deps installed
    Job->>Steps: jlpm install (uses GITHUB_TOKEN)
    Steps-->>Job: Node deps installed
  end

  rect rgba(255,240,200,0.2)
    Note over Job: Checks
    Job->>Steps: jlpm run lint:check (GITHUB_TOKEN)
    Steps-->>Job: Lint/format results
  end

  Job-->>GH: Job complete (success/failure)
Loading

Suggested reviewers

  • andyjakubowski
  • saltenasl
  • Artmann

Pre-merge checks

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly highlights the addition of comprehensive lint and format checks to the CI workflow and directly reflects the main change in the pull request. It is concise, clear, and uses standard commit style.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 973dff7 and f1e92ef.

📒 Files selected for processing (1)
  • .github/workflows/ci.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: check_release
  • GitHub Check: build
🔇 Additional comments (1)
.github/workflows/ci.yml (1)

37-60: Lint job mirrors existing workflow correctly.

Steps follow the established audit jobs pattern and cover checkout, setup, installs, and lint execution—looks solid.


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

@codecov
Copy link

codecov bot commented Oct 10, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 18.50%. Comparing base (973dff7) to head (f1e92ef).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #15   +/-   ##
=======================================
  Coverage   18.50%   18.50%           
=======================================
  Files          13       13           
  Lines         200      200           
  Branches       27       27           
=======================================
  Hits           37       37           
  Misses        163      163           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jamesbhobbs jamesbhobbs marked this pull request as ready for review October 10, 2025 12:39
@jamesbhobbs jamesbhobbs merged commit 7d5d0ab into main Oct 10, 2025
12 checks passed
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.

3 participants