Repository navigation
ci: install from the lock file - #768
Conversation
Run every uv command in the Makefile with --locked. Remove .readthedocs.yml: it installed uv and mermaid-cli without a lock. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
OX Security reviewed this pull request — nothing to fix.
Branch |
|
Claude finished @olivermeyer's task in 3m 38s —— View job PR Review: CI Install from Lock FileReviewing PR #768 for supply chain security improvements. Review SummaryThis PR successfully implements Supply Chain Day checklist item 2 by ensuring all CI dependency installations use locked dependencies. The changes improve security and are consistent with existing CI/CD practices. ✅ CRITICAL CHECKS - ALL PASS1. Test MarkersStatus: ✅ N/A - No test files changed 2. Test CoverageStatus: ✅ N/A - No code changes, only build configuration 3. Code QualityStatus: ✅ PASS - All linting checks passed ✓ ruff check - All checks passed!
✓ ruff format - 287 files already formatted
✓ pyright - 0 errors, 0 warnings, 0 informations
✓ mypy - Success: no issues found in 84 source files4. Conventional CommitsStatus: ✅ PASS Correct format: ✅ POSITIVE FINDINGSSupply Chain Security ImprovementImpact: 🔒 High Security Value The PR achieves its stated goal of preventing
This prevents a compromised package release from entering the build pipeline undetected, as required by Supply Chain Day checklist item 2. Consistency with Existing CI/CDAll GitHub Actions workflows already use
This PR brings the Makefile into alignment with the workflows, ensuring consistent behavior between CI and local Read the Docs Security BenefitThe deleted npm install -g --ignore-scripts @mermaid-js/mermaid-cliThis was itself a supply chain vulnerability (no version pin, no lock file). Removing this configuration eliminates that risk entirely.
|
Codecov Report✅ All modified and coverable lines are covered by tests. |
|



Why?
The Supply Chain Day checklist (item 2) requires that CI installs dependencies only from the committed lock file with hashes, so that a bad new package release cannot enter the build. In this repo, the Makefile targets that CI runs (
make lint,make docs,make audit,make dist_nativeand thetest_*targets) calleduv runwithout--locked, so uv could re-resolve and changeuv.lockduring the job. The Read the Docs build installeduv latestand rannpm install -g @mermaid-js/mermaid-cliwith no version and no lock file.How?
Every
uv runin the Makefile now uses--locked, which matches the workflows since #765, and.readthedocs.ymlis deleted. Without that file, the Read the Docs projectaignosticscannot build new versions (Read the Docs requires the config file), so https://aignostics.readthedocs.io keeps the last version it built and stops updating. Someone with access to the Read the Docs project must deactivate it or point it elsewhere.🤖 Generated with Claude Code