Skip to content

Conversation

@jamesbhobbs
Copy link
Contributor

@jamesbhobbs jamesbhobbs commented Oct 10, 2025

feat: add CI and Codecov badges to README and set up Codecov integration

Summary

Adds GitHub Actions CI status badge and Codecov coverage badge to the repository README, and sets up Codecov integration in the build workflow. The changes include:

  • Added CI workflow status badge to README
  • Added Codecov coverage badge to README
  • Modified pytest command to generate XML coverage report (--cov-report=xml)
  • Added Codecov upload step to .github/workflows/build.yml

Review & Testing Checklist for Human

  • CRITICAL: Verify workflow name - The CI badge references ci.yml but changes are in build.yml. Check if this should be build.yml instead or if there's a separate ci.yml workflow
  • Verify CODECOV_TOKEN secret - Ensure CODECOV_TOKEN is configured in repository secrets for the upload to work
  • Test end-to-end - Trigger a workflow run and verify that coverage.xml is generated and successfully uploaded to Codecov
  • Check badge rendering - Verify both badges display correctly on the GitHub repository homepage

Notes

Summary by CodeRabbit

  • Chores

    • CI now builds, packages, and uploads extension artifacts as part of the workflow.
    • Coverage reporting/upload steps retained alongside packaging.
    • Link checking no longer ignores previously excluded links.
  • Documentation

    • Added CI and coverage status badges to the README for visibility.

@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

Added two CI steps to .github/workflows/build.yml after the Codecov upload: "Package the extension" (installs build tooling, builds the wheel, and uninstalls the package) and "Upload extension packages" (uploads built artifacts). Removed the ignore_links entry from the "Check Links" step in the check_links job. README.md was updated to include CI and Codecov badges. No changes to public APIs or exported entities.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    actor Developer
    participant GH as GitHub Actions
    participant Tests as Test Runner
    participant Codecov as Codecov Action
    participant Pack as Package Step
    participant Store as Artifact Storage

    Developer->>GH: push / open PR
    GH->>Tests: run tests & generate coverage.xml
    Tests-->>GH: coverage.xml
    GH->>Codecov: upload coverage.xml
    Codecov-->>GH: ack
    GH->>Pack: install build deps -> build wheel -> uninstall package
    Pack-->>GH: produce artifact(s)
    GH->>Store: upload extension packages
    Store-->>GH: ack
Loading

Possibly related PRs

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 CI and Codecov badges in the README and the setup of Codecov integration, matching the primary objectives of the pull request. It uses clear, concise phrasing and focuses on the developer’s main change without extraneous details. It is specific enough for a teammate to understand the key purpose at a glance.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

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

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 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 b326cbf.

📒 Files selected for processing (2)
  • .github/workflows/build.yml (2 hunks)
  • README.md (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-09T11:21:57.494Z
Learnt from: CR
PR: deepnote/vscode-deepnote#0
File: CLAUDE.md:0-0
Timestamp: 2025-10-09T11:21:57.494Z
Learning: Applies to src/notebooks/deepnote/** : Deepnote integration code resides under src/notebooks/deepnote/

Applied to files:

  • README.md
📚 Learning: 2025-10-07T19:51:40.201Z
Learnt from: m1so
PR: deepnote/vscode-deepnote#25
File: src/kernels/deepnote/deepnoteServerStarter.node.ts:150-154
Timestamp: 2025-10-07T19:51:40.201Z
Learning: The deepnote-toolkit server is a separate Python package maintained in a different repository from the VS Code extension (vscode-deepnote). The VS Code extension launches the toolkit as a subprocess and communicates via environment variables and HTTP. The toolkit implementation cannot be verified from the extension codebase.

Applied to files:

  • README.md
🔇 Additional comments (3)
README.md (2)

4-4: Codecov badge: confirm project setup.

Ensure Codecov project for deepnote/jupyterlab-deepnote is initialized so the badge renders coverage.

Would you like me to add a README note with a link to the Codecov dashboard once verified?


3-3: CI badge is correct. ci.yml defines the CI workflow; no change needed.

Likely an incorrect or invalid review comment.

.github/workflows/build.yml (1)

57-64: Codecov upload: enable tokenless OIDC or confirm token + soften CI failures

  • Public repos: add permissions.id-token: write and drop token: ${{ secrets.CODECOV_TOKEN }}.
  • Otherwise verify the CODECOV_TOKEN secret exists and set fail_ci_if_error: false.

@devin-ai-integration devin-ai-integration bot force-pushed the devin/1760099956-add-ci-codecov-badges branch from b326cbf to 8e1eea0 Compare October 10, 2025 12:59
@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 (7d5d0ab) to head (147afbc).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #16   +/-   ##
=======================================
  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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/build.yml (1)

58-71: Gate Codecov uploads on non-fork runs.

You said uploads should skip forked PRs, but both Codecov steps run unconditionally. On forks the CODECOV_TOKEN secret is unavailable, so these steps will fail (fail_ci_if_error: true). Add an if (e.g. if: github.event.pull_request.head.repo.fork == false) so uploads only happen when secrets are present.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b326cbf and 8e1eea0.

📒 Files selected for processing (2)
  • .github/workflows/build.yml (1 hunks)
  • README.md (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-09T11:21:57.494Z
Learnt from: CR
PR: deepnote/vscode-deepnote#0
File: CLAUDE.md:0-0
Timestamp: 2025-10-09T11:21:57.494Z
Learning: Applies to src/notebooks/deepnote/** : Deepnote integration code resides under src/notebooks/deepnote/

Applied to files:

  • README.md
📚 Learning: 2025-10-07T19:51:40.201Z
Learnt from: m1so
PR: deepnote/vscode-deepnote#25
File: src/kernels/deepnote/deepnoteServerStarter.node.ts:150-154
Timestamp: 2025-10-07T19:51:40.201Z
Learning: The deepnote-toolkit server is a separate Python package maintained in a different repository from the VS Code extension (vscode-deepnote). The VS Code extension launches the toolkit as a subprocess and communicates via environment variables and HTTP. The toolkit implementation cannot be verified from the extension codebase.

Applied to files:

  • README.md
⏰ 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

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e82d9ac and 5c711c4.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-09T11:21:57.494Z
Learnt from: CR
PR: deepnote/vscode-deepnote#0
File: CLAUDE.md:0-0
Timestamp: 2025-10-09T11:21:57.494Z
Learning: Applies to src/notebooks/deepnote/** : Deepnote integration code resides under src/notebooks/deepnote/

Applied to files:

  • README.md
📚 Learning: 2025-10-07T19:51:40.201Z
Learnt from: m1so
PR: deepnote/vscode-deepnote#25
File: src/kernels/deepnote/deepnoteServerStarter.node.ts:150-154
Timestamp: 2025-10-07T19:51:40.201Z
Learning: The deepnote-toolkit server is a separate Python package maintained in a different repository from the VS Code extension (vscode-deepnote). The VS Code extension launches the toolkit as a subprocess and communicates via environment variables and HTTP. The toolkit implementation cannot be verified from the extension codebase.

Applied to files:

  • README.md
⏰ 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: build
  • GitHub Check: check_release
🔇 Additional comments (1)
README.md (1)

3-3: CI badge path looks correct.

Points to actions/workflows/build.yml on main. Good.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5c711c4 and 14403d2.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-09T11:21:57.494Z
Learnt from: CR
PR: deepnote/vscode-deepnote#0
File: CLAUDE.md:0-0
Timestamp: 2025-10-09T11:21:57.494Z
Learning: Applies to src/notebooks/deepnote/** : Deepnote integration code resides under src/notebooks/deepnote/

Applied to files:

  • README.md
📚 Learning: 2025-10-07T19:51:40.201Z
Learnt from: m1so
PR: deepnote/vscode-deepnote#25
File: src/kernels/deepnote/deepnoteServerStarter.node.ts:150-154
Timestamp: 2025-10-07T19:51:40.201Z
Learning: The deepnote-toolkit server is a separate Python package maintained in a different repository from the VS Code extension (vscode-deepnote). The VS Code extension launches the toolkit as a subprocess and communicates via environment variables and HTTP. The toolkit implementation cannot be verified from the extension codebase.

Applied to files:

  • README.md
⏰ 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

@jamesbhobbs jamesbhobbs marked this pull request as ready for review October 10, 2025 13:43
@jamesbhobbs jamesbhobbs merged commit d6b0f20 into main Oct 10, 2025
11 of 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