build(docker): multi-stage build for a slimmer image#227
Conversation
|
Warning Review limit reached
Next review available in: 49 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe deleted-state extension now initializes a module logger and warns when dangling ChangesDeleted-state observability
Estimated code review effort: 2 (Simple) | ~5 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
9c6b08c to
7ef4e83
Compare
There was a problem hiding this comment.
🧹 Nitpick comments (1)
rero_mef/extensions/deleted.py (1)
42-45: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd a regression test for the warning
The existing dangling-reference tests verify fallback behavior but not this new observability contract. Add a
caplogassertion covering the entity name, record type, and PID so future changes cannot silently remove or corrupt the warning.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@rero_mef/extensions/deleted.py` around lines 42 - 45, Add a regression test to the existing dangling-reference test suite covering the warning emitted by the deleted-record handling path. Use caplog to assert the warning includes the entity name, record type, and PID, while preserving the existing fallback behavior assertions.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@rero_mef/extensions/deleted.py`:
- Around line 42-45: Add a regression test to the existing dangling-reference
test suite covering the warning emitted by the deleted-record handling path. Use
caplog to assert the warning includes the entity name, record type, and PID,
while preserving the existing fallback behavior assertions.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: cf3c1a8b-217c-4e00-b5f5-0f5d992d7fad
⛔ Files ignored due to path filters (2)
Dockerfileis excluded by none and included by noneDockerfile.baseis excluded by none and included by none
📒 Files selected for processing (1)
rero_mef/extensions/deleted.py
* Split Dockerfile into a builder stage (gcc, Node.js, git, uv) and a python:3.14-slim-bookworm runtime stage with no compilers or Node * Shrinks the shipped image from 17.7GB to 4.59GB against the same base * Dockerfile.base: merge the two apt-get blocks and drop the dangling apt cache left behind after installing Node * extensions/deleted.py: log a warning when a dangling $ref is tolerated instead of silently swallowing it on every commit/create Co-Authored-by: Peter Weber <peter.weber@rero.ch>
Summary by CodeRabbit