-
Notifications
You must be signed in to change notification settings - Fork 4
feat: add CI and Codecov badges to README and set up Codecov integration #37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
⚙️ Control Options:
|
📝 WalkthroughWalkthroughREADME.md was updated to prepend two badges (CI and codecov). Existing descriptive content and the project image reference were retained. No source code or behavior changes. No exported/public entity declarations were modified. Suggested reviewers
Pre-merge checks✅ Passed checks (3 passed)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #37 +/- ##
=====================================
Coverage 70% 70%
=====================================
Files 512 512
Lines 37506 37506
Branches 4811 4811
=====================================
Hits 26473 26473
Misses 9441 9441
Partials 1592 1592 🚀 New features to boost your workflow:
|
There was a problem hiding this 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
📒 Files selected for processing (2)
.github/workflows/ci.yml(1 hunks)README.md(1 hunks)
🧰 Additional context used
🧠 Learnings (4)
📚 Learning: 2025-10-10T12:20:18.695Z
Learnt from: jamesbhobbs
PR: deepnote/vscode-deepnote#35
File: .github/workflows/ci.yml:97-110
Timestamp: 2025-10-10T12:20:18.695Z
Learning: In the vscode-deepnote repository's CI workflow, the Codecov upload steps are intentionally configured to skip when tests fail (no `always()` guard), as they are specifically used for test flake reporting rather than general coverage/test result uploads on failures.
Applied to files:
.github/workflows/ci.yml
📚 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: Project is a VS Code extension for Jupyter notebooks
Applied to files:
README.md
📚 Learning: 2025-10-02T08:12:46.572Z
Learnt from: saltenasl
PR: deepnote/vscode-deepnote#16
File: src/notebooks/controllers/controllerRegistration.ts:360-367
Timestamp: 2025-10-02T08:12:46.572Z
Learning: The vscode-deepnote extension does not and will not support Jupyter notebooks; it is exclusively for Deepnote notebooks.
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). (1)
- GitHub Check: Build & Test
🔇 Additional comments (1)
README.md (1)
3-5: Badges look correct; please verify renderingLinks/branch targets are right for CI and Codecov. Confirm they render after first successful upload.
.github/workflows/ci.yml
Outdated
| - name: Generate coverage report | ||
| run: npm run test:cover:report | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Confirm coverage script and report path
Ensure npm run test:cover:report exists, generates coverage/lcov.info, and doesn’t re-run tests.
Run to verify:
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Check scripts in package.json"
rg -nP '"test"\s*:\s*".*"' -n package.json -C2 || true
rg -nP '"test:cover:report"\s*:\s*".*"' -n package.json -C2 || true
echo -e "\nCheck that test collects coverage (nyc/c8 wrapper)"
rg -nP '"test"\s*:\s*".*(nyc|c8).*"' package.json -n || echo "WARN: test may not collect coverage"
echo -e "\nCheck NYC config for lcov reporter"
rg -nP '"nyc"\s*:\s*\{(?s).*"reporter"\s*:\s*\[(?s).*"lcov"' -n package.json -C2 || true
fd -a '^\.nycrc(\.json)?$' | xargs -r -I{} sh -c 'echo "--- {} ---"; cat "{}"'
echo -e "\nCheck report command uses nyc report"
rg -nP '"test:cover:report"\s*:\s*".*(nyc).*report' -n package.json -C1 || echo "WARN: report script may not be nyc report"
echo -e "\nExpected output path: coverage/lcov.info (default). If custom, ensure ci.yml matches."Length of output: 1381
Ensure CI coverage step emits lcov.info
- Update package.json’s
test:cover:reportto include--reporter=lcovsocoverage/lcov.infois generated. - Verify the workflow runs tests instrumented by nyc (e.g.
nyc npm test) before the report step.
e0a4a8b to
9ad6d13
Compare
There was a problem hiding this 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
📒 Files selected for processing (1)
README.md(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 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: Project is a VS Code extension for Jupyter notebooks
Applied to files:
README.md
📚 Learning: 2025-10-02T08:12:46.572Z
Learnt from: saltenasl
PR: deepnote/vscode-deepnote#16
File: src/notebooks/controllers/controllerRegistration.ts:360-367
Timestamp: 2025-10-02T08:12:46.572Z
Learning: The vscode-deepnote extension does not and will not support Jupyter notebooks; it is exclusively for Deepnote notebooks.
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 (1)
README.md (1)
4-4: Avoid embedding Codecov token in badge (public repo).If the repo is public, drop the
?token=...to avoid exposing tokens and rely on GitHub App auth.
[ suggest_recommended_refactor ]
Apply:-[](https://codecov.io/gh/deepnote/vscode-deepnote) +[](https://codecov.io/gh/deepnote/vscode-deepnote)If this repo is private or the badge requires a token, confirm the shown token is not the same as the CODECOV_TOKEN upload secret.
Summary
This PR adds CI status badges and Codecov coverage badges to the README, and sets up Codecov integration in the GitHub Actions workflow.
Changes
CI Workflow (.github/workflows/ci.yml)
npm run test:cover:report./coverage/lcov.infoto CodecovCODECOV_TOKENsecret for authenticationREADME
Review Checklist
Critical items to verify:
CODECOV_TOKENsecret is configured in repository settingsnpm run test:cover:reportgenerates coverage at./coverage/lcov.info(based on .nycrc config)Context: This is part of a larger effort to add CI and Codecov badges to four Deepnote repositories. The coverage collection was already in place via nyc, but coverage wasn't being uploaded to Codecov previously.
Link to Devin run: https://app.devin.ai/sessions/3468be17b20846dd9e367cd30fe62641
Requested by: @jamesbhobbs
Summary by CodeRabbit