Repository navigation
ci: add Codecov, Snyk, SonarCloud and Codacy badges - #51
Conversation
Record Python test coverage in the tests workflow and upload it to Codecov with OIDC from a separate job. Add a weekly Snyk test of the npm locks under .github/ci, and add the Codecov, Snyk and Codacy badges to the README. State the test policy in CONTRIBUTING.md.
Override Pi's pinned minimatch 10.2.6 with 11.0.3, which fixes GHSA-g3hv-75wg-m249 (before 11.0.1). Pi calls only minimatch(), which 11 keeps. Record the override in the CI README and guard the lock with a test.
The codecov job continues on error, so a Codecov outage cannot turn the tests badge red; the upload still fails its own job.
|
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 5 |
| Duplication | 0 |
AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
Pull Request Overview
👀 Worth a closer look
The Snyk workflow has two dependency-scanning coverage gaps that should be reviewed before merge: Dependabot pull requests are excluded, and changes to package manifests do not trigger the workflow. The required CI and Codecov integration scenarios remain unverified.
About this PR
- The changed workflow integration and Linux Pi load check remain unverified; run the relevant CI scenarios before relying on the new automation.
Test suggestions
- Verify the Pi lockfile contains no minimatch version in the vulnerable range.
- Verify both npm lockfiles are passed to Snyk and each scan failure fails the job.
- Verify the tests job produces the coverage XML artifact and the separate Codecov job downloads and uploads it with OIDC.
- Verify the Codecov job is limited to trusted pull requests or pushes and cannot expose OIDC credentials while tests run.
Prompt proposal for missing tests
Consider implementing these tests if applicable:
1. Verify both npm lockfiles are passed to Snyk and each scan failure fails the job.
2. Verify the tests job produces the coverage XML artifact and the separate Codecov job downloads and uploads it with OIDC.
3. Verify the Codecov job is limited to trusted pull requests or pushes and cannot expose OIDC credentials while tests run.
TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback
| - ".github/ci/*/package-lock.json" | ||
| - ".github/workflows/snyk.yml" | ||
| pull_request: | ||
| paths: | ||
| - ".github/ci/*/package-lock.json" |
There was a problem hiding this comment.
🟡 MEDIUM RISK
Add the dependency manifests to both the push and pull-request path filters, such as .github/ci/*/package.json, so manifest changes trigger Snyk scanning.
TIP React 👍 if this review is right, or reply with what's wrong and how it could be better to help improve the reviewer.
| name: Snyk open source test | ||
| # Pull requests from forks, and Dependabot's (which get Dependabot secrets | ||
| # only), receive no SNYK_TOKEN; the weekly run on main scans their changes. | ||
| if: github.event_name != 'pull_request' || (github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') |
There was a problem hiding this comment.
🟡 MEDIUM RISK
This workflow does not scan Dependabot pull requests, so dependency updates can merge without Snyk validating the proposed lockfiles. Provide a trusted-token path for these pull requests or revise the documented scanning coverage.
TIP React 👍 if this review is right, or reply with what's wrong and how it could be better to help improve the reviewer.



Summary
Brings this repository's badges up to the maintainer's other account: Codecov coverage, a Snyk scan, SonarCloud and Codacy.
The unit tests run under
coverage7.17.0 and a separatecodecovjob uploads the report by OIDC. Snyk tests the 2 npm lockfiles used by CI load checks..github/ci/pioverrides minimatch 10.2.6 to 11.0.3 for GHSA-g3hv-75wg-m249, because Pi 1.4.0 pins the vulnerable version. CONTRIBUTING gains a test policy.Evidence
npm auditpass locally (Windows, Node 26).Merge danger
Door: two-way. Blast radius: CI
The OIDC token is granted only to the separate
codecovjob, which continues on error, so a Codecov outage cannot turn the tests badge red.Unverified